Veeam Backup and Replication provides two options for backing up SQL Server:
- Image-level backup of the virtual machines running SQL Server
- Backup of Windows machine running SQL Server using Veeam Agent
Two options differ in capabilities and the list of supported configurations.
|VM backup||Agent backup|
|Standalone SQL server||Supported||Supported|
|Always On Availability Group||Supported||Supported|
|SQL Failover Cluster||Not supported||Supported|
Note: Please read the whitepaper on benefits of using SQL Always-on Availability Groups for Virtual Environment
Veeam Agent has additional limitations applied to specific configurations:
- Backup of CSV (Cluster Shared Volumes) is not supported. Cluster disks used as CSV are automatically excluded from backup.
- AlwaysOn Availability Groups based on multiple Failover Cluster Instances are not supported.
- AlwaysOn Clusterless Availability Groups are not supported.
The following section will provide the best practices to verify SQL Server for the smooth and fast backup.
Check the status of VSS writers and providers:
- Open a command prompt as Administrator.
- Type “vssadmin list providers” and press enter.
- Verify all the writers are in health state.
- Type “vssadmin list writers” and press enter
- Check and confirm writers are “Stable with no errors”.
As backup is I/O intensive operations check the SQL server performance status before start taking the backup. To verify the SQL Server Health:
- Open Performance Monitor.
- Add below objects verify the performance:
- Under the Memory object, add the counter: Available MB
- Under the Processor object, add the counter: %Processor Time (Instance: Total)
- Under the Physical Disk object, add the counters: Avg. Disk Sec/Read and Avg. Disk Sec/Write (All Instances)
- Under the Paging File object, add the counter: %Usage (Instance: Total)
Check Microsoft article “Monitor Memory Usage” to validate the health status of SQL Server.
No additional configuration is required to backup the standalone SQL server, you can configure the backup with application aware processing to take the backup of SQL server with the databases.
Please check the Veeam User’s Guide sections to get the more information about SQL backup configuration
When backing up AlwaysOn availability group make sure all cluster nodes are processed by the same backup job for transaction logs processing and restores to work properly. Consider increasing cluster timeouts in case failover occurs during the backup, similar to Exchange DAG as per KB1744.
You can also follow the steps outlined in KB2110 to exclude certain databases from application aware processing.
Please be aware that transactions logs are processed periodically and stored in temporary folder inside of the VM before shipping to repository/shipping server. Default location of the temporary folder is %allusersprofile%\Veeam\Backup. The default location is in most cases the system partition to avoid the situation to run out of space in the system partition, it’s the best practices to change the temporary folder location to the windows disk volume where enough space is available for staging the transactions logs.
Temporary folder path can be changed using SqlTempLogPath (STRING) registry value:
- Path: HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication
- Key: SqlTempLogPath
- Type: REG_SZ
- Default value: undefined
For instructions on changing temporary folder path for agent-based backups refer to
As best practices it’s highly recommended to periodically shrink the SQL log file.