DBA PARK may earn a commission from purchases through links in this article, at no extra cost to you.
A SQL Server upgrade succeeds only when the databases open. A production upgrade succeeds when applications reconnect, performance stays within the agreed envelope, backups remain restorable, HA/DR is healthy, and the team can still roll back. This checklist is written around those operational outcomes.
What You’ll Learn: how to choose an upgrade method, inventory dependencies, validate databases and backups, rehearse the cutover, and control compatibility-level changes after moving from SQL Server 2022 to SQL Server 2025.
1. Confirm the Upgrade Path
SQL Server 2025 supports upgrades from SQL Server 2022. Support for a version does not mean that every edition, feature, driver, operating system, or third-party component is compatible. Record the exact source build and edition before planning the target.
SELECT
@@SERVERNAME AS server_name,
SERVERPROPERTY('ProductVersion') AS product_version,
SERVERPROPERTY('ProductLevel') AS product_level,
SERVERPROPERTY('Edition') AS edition,
SERVERPROPERTY('EngineEdition') AS engine_edition;2. Choose Side-by-Side or In-Place
| Method | Best fit | Trade-off |
|---|---|---|
| Side-by-side | Most production systems; hardware or OS refresh; clean rollback | Requires data synchronization and a controlled connection cutover. |
| In-place | Small, well-rehearsed environments with limited infrastructure | Rollback normally means restore/rebuild; longer risk window on the original host. |
| Backup and restore | Moderate databases with an acceptable outage | Simple and testable, but downtime includes final backup, copy, and restore. |
| Log shipping / AG migration | Low-downtime cutovers | More moving parts; rehearse jobs, logins, listeners, and final recovery. |
For critical systems, side-by-side migration is usually easier to reverse because the SQL Server 2022 instance remains intact until acceptance criteria are met.
3. Inventory More Than Databases
- Server and database configuration values.
- SQL Agent jobs, schedules, operators, proxies, credentials, and Database Mail.
- Logins, server roles, permissions, contained users, and orphaned-user risk.
- Linked servers, endpoints, certificates, keys, SSIS packages, CLR assemblies, and external scripts.
- Availability Groups, FCIs, replication, CDC, Change Tracking, Service Broker, and distributed transactions.
- Connection aliases, DNS names, firewall rules, SPNs, certificates, driver versions, and application connection strings.
SELECT name, compatibility_level, state_desc, recovery_model_desc
FROM sys.databases
ORDER BY name;
SELECT *
FROM sys.dm_db_persisted_sku_features;4. Establish a Clean Source Baseline
DBCC CHECKDB (N'YourDatabase') WITH NO_INFOMSGS, ALL_ERRORMSGS;
GO
BACKUP DATABASE YourDatabase
TO DISK = N'E:\SQLBackups\YourDatabase_PreUpgrade.bak'
WITH COPY_ONLY, CHECKSUM, COMPRESSION, STATS = 5;
GO
RESTORE VERIFYONLY
FROM DISK = N'E:\SQLBackups\YourDatabase_PreUpgrade.bak'
WITH CHECKSUM;RESTORE VERIFYONLY is not a restore test. Restore the backup onto a nonproduction SQL Server 2025 instance, run DBCC CHECKDB there, and execute application smoke tests.
5. Capture Performance Evidence
- Query Store top duration, CPU, and logical-read queries.
- Wait statistics over a representative period.
- Batch requests, compilations, memory grants, tempdb usage, log growth, and I/O latency.
- Job runtimes, backup duration, ETL windows, and replication/AG lag.
A screenshot saying “CPU looks normal” is not a baseline. Export exact measurements and define thresholds such as “P95 API latency no more than 10% above baseline” and “all business-critical jobs complete within their existing window.”
6. Rehearse the Exact Cutover
- Clone production topology and restore representative databases.
- Install the same SQL Server 2025 CU and client drivers planned for production.
- Migrate instance-level objects with scripted, version-controlled steps.
- Run the cutover using a timed checklist.
- Execute technical and business validation.
- Practice rollback and record the last safe decision point.
7. Cutover Runbook
-- Before final synchronization
ALTER DATABASE YourDatabase SET READ_ONLY WITH ROLLBACK IMMEDIATE;
-- After restore/attach on SQL Server 2025
SELECT name, state_desc, compatibility_level
FROM sys.databases
WHERE name = N'YourDatabase';
DBCC CHECKDB (N'YourDatabase') WITH NO_INFOMSGS;- Stop writers and confirm that the application really is quiesced.
- Take the final log backup or complete the final synchronization step.
- Bring the target database online and run
DBCC CHECKDB. - Validate logins, jobs, linked services, encryption keys, and backups.
- Switch DNS, alias, listener, or connection configuration.
- Monitor errors, waits, blocking, Query Store regressions, and business transactions.
8. Do Not Rush Compatibility Level
Moving a database to the SQL Server 2025 engine and changing its compatibility level are separate changes. Keep the previous compatibility level during initial stabilization unless a tested feature requires the new level. Query Store can then help compare plans before and after the compatibility change.
ALTER DATABASE YourDatabase SET QUERY_STORE = ON;
GO
-- Change only after testing and an agreed observation period.
ALTER DATABASE YourDatabase SET COMPATIBILITY_LEVEL = 170;9. Rollback Criteria
| Trigger | Prepared response |
|---|---|
| Data validation fails | Stop writes; return traffic to the untouched source or restore the agreed recovery point. |
| Authentication failure | Revert connection endpoint while repairing logins, SPNs, TLS, or drivers. |
| Severe plan regression | Use Query Store mitigation or roll back compatibility/cutover according to the runbook. |
| HA/DR unhealthy | Do not accept the migration until backups and secondary protection are restored. |
Summary
A safe upgrade is a migration project with evidence, acceptance criteria, and a practiced rollback. Separate engine migration from compatibility-level adoption, restore-test every backup, and validate the complete service—not only the user databases.
Continue learning: To practice the administration tasks behind this checklist, browse Udemy and search for SQL Server administration courses with exercises on restores, instance configuration, and migration rehearsals. For hands-on practice with SQL Server queries and database fundamentals, explore DataCamp.