Download the script for your platform:
- MaintenanceSolution.sql: SQL Server 2017, SQL Server 2019, SQL Server 2022, SQL Server 2025, and Azure SQL Managed Instance. This script creates all the objects and jobs that you need.
- MaintenanceSolutionAzureSQLDatabase.sql: Azure SQL Database. This script creates the objects for integrity check and index and statistics maintenance.
You can also download the objects as separate scripts:
- DatabaseBackup.sql: Stored procedure to back up databases
- DatabaseIntegrityCheck.sql: Stored procedure to check the integrity of databases
- IndexOptimize.sql: Stored procedure to rebuild and reorganize indexes and update statistics
- CommandExecute.sql: Stored procedure to execute and log commands
- CommandLog.sql: Table to log commands
- Queue.sql: Table for processing databases in parallel
- QueueDatabase.sql: Table for processing databases in parallel
Note that you always need CommandExecute; DatabaseBackup, DatabaseIntegrityCheck, and IndexOptimize use it.
When you update DatabaseBackup, DatabaseIntegrityCheck, or IndexOptimize, you should also update CommandExecute.
You need CommandLog if you are going to use the option to log commands to a table.
You can verify the scripts against the SHA-256 checksums in SHA256SUMS.txt.
- SQL Server Backup: website · repository
- SQL Server Integrity Check: website · repository
- SQL Server Index and Statistics Maintenance: website · repository
- Frequently Asked Questions: website
- Version History: website