Veeam Backup & Replication stores all information about backup infrastructure, jobs settings, job history, sessions and other configuration data in a Microsoft SQL Server database.
When planning the Veeam Backup & Replication deployment you must choose the placement of the configuration database. It may be either a local or remote SQL Server with several licensing options available. Please see the following recommendations to ensure your Veeam setup will scale to the size of your infrastructure.
Microsoft SQL Server 2016 Express Edition is included in the Veeam Backup & Replication setup which is a convenient option for most smaller deployments. It does however have several limitations1 which may affect performance:
- Each instance uses only up to 1 GB of RAM
- Each instance uses only up to 4 cores of the first CPU
- Database size cannot exceed 10 GB
It is recommended to install Standard or Enterprise Edition if any of the following apply:
- When protecting more than 500 VMs. The max database size allowed by Express Edition is usually sufficient, so do not consider this a constraint. Veeam Backup & Replication console and job processing may however slow down as a result of CPU and RAM constraints on the SQL Server Express instance.
- When using Files to Tape jobs extensively, the database may grow significantly, and the 10 GB limitation may be exceeded quickly.
- When unable to configure an external staging server. For Veeam Explorer for Microsoft SQL Server or Veeam Explorer for Microsoft SharePoint. When working with databases larger than 10 GB, SQL Server Express cannot mount the databases.
- When databases are using advanced features of Microsoft SQL Server. Such as encryption or table partitioning, the licensing level of the staging server (local or remote) must match the level of the original instance.
If none of the above apply it is recommended to use Microsoft SQL Server Express Edition for the sake of simplicity.
Tip: Veeam Backup & Replication supports Microsoft SQL Server 2008 or higher. To leverage Microsoft SQL Server 2014 enhancements (cardinality estimator has proved to show significant improvements for large queries), it is highly recommended to run the database server on Microsoft SQL Server (Express) 2014 or higher.
It is possible to leverage a remote SQL Server as staging server during restores in Veeam Explorer products. There are no specific edition requirements for neither SQL Express, Standard or Enterprise instance of SQL Server installed locally on the backup server. It is still recommended to run the SQL Server locally (when resource and planning allow) on the backup server for lowest latency and highest performance.
There may still be scenarios where a remote SQL Server is the better choice:
- High Availability - SQL Clustering and AlwaysOn Availability Group on external SQL Servers can be used for configuration database high availability. Please refer to the following KB article for the configuration details
- Fast Recovery - Failover to a standby backup server can be simplified by connecting to the configuration database directly without the need for restoring from a configuration backup
- Licensing - Some enterprises have dedicated virtual clusters for SQL Server due to licensing constraints. In such cases, you may place the Veeam configuration database on existing instances to lower the overall TCO
Veeam Backup & Replication may consume high amounts of CPU and RAM while processing backup or replication jobs. To achieve better performance and load balancing it is necessary to provide sufficient RAM and CPU resources to Veeam components. Remember to add additional resources, if the backup server is responsible for multiple roles, such as repository server or backup proxy.
Please follow these guidelines:
|Number of concurrently running jobs||CPU||RAM|
|Up to 25||2||4 GB|
|Up to 50||4||8 GB|
|Up to 100||8||16 GB|
Note: Concurrently running jobs include any job type with a continuous schedule such as Backup Copy Jobs.
When running more than 100 jobs concurrently increase the amount of resources by 2 CPU cores and 4GB of RAM for every 25 concurrently running jobs.
It is recommended to place the configuration database on a fast, resilient storage subsystem, preferred flash. High-performance storage for backing the configuration database will result in overall increased processing performance. Jobs with a lot of metadata such as very large SharePoint farms with thousands of sites, SQL Server instances with many databases or Files to Tape jobs may increase the I/O requirements for the configuration database.
Most databases are in the single digits of GBs in size, but can be up to 25 GB in size under certain circumstances, like usage of Files to Tape jobs or a lot of restore points.
Veeam Backup & Replication does not require any specific settings2 on the SQL Server in order to utilize the capabilities of Veeam Explorer for SharePoint or SQL.
Both local and remote SQL Servers can be used for staging purposes, the corresponding requirements are detailed on Veeam Helpcenter and can be found through the following links:
- Enable and configure all features used by production databases.
- When possible use the highest license level and latest version and cumulative update level installed in any VM.
- Using an older version of SQL Server for the configuration database than running in a protected VM may result in warnings in job session logs when such VMs are processed.
If you plan to restore encrypted databases with Veeam Explorer for Microsoft SQL Server or SharePoint you will need a valid encryption certificate on the staging Microsoft SQL Server3.
Follow Microsoft general recommendations for optimal SQL performance, for example, place the SQL
tempdb on the fastest disks for best performance.