Skip to content
Microsoft SQL Server

SQL Server Error 3169

The database was backed up on a server running an incompatible version

Severity 16 Backup & Restore
Applies to: All supported SQL Server versions (2016 to 2025), Azure SQL Managed Instance
Last technically reviewed 23 October 2026 on SQL Server 2025 (17.0.1145.4)
The full message
The database was backed up on a server running database version NNN. That version is incompatible with this server, which supports version MMM. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.
Other forms of this message
Followed by (always)
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
Wording on Microsoft Learn and in earlier versions (product build numbers)
The database was backed up on a server running version 15.00.2000. That version is incompatible with this server, which is running version 13.00.5026. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.
Error number
3169
Severity
16 (user-correctable error)
State
Not documented by Microsoft (not reproduced here)
Product
Microsoft SQL Server Database Engine
Versions
All supported SQL Server versions (2016 to 2025), Azure SQL Managed Instance
Last reviewed
23 October 2026

What it means

Error 3169 means the backup was taken on a newer SQL Server version than the one you are restoring to, and backups can never be restored to an older version.

Each SQL Server release has an internal database format (the database version, for example 998 on SQL Server 2025 RTM). A restore can upgrade a database from an older format to the server's own, but nothing can convert a newer format back to an older one. When the backup header shows a database version higher than this server supports, RESTORE stops with 3169 and then Msg 3013 ... RESTORE DATABASE is terminating abnormally. In the message, NNN is the version stored in the backup and MMM is what this server supports; earlier versions print product build numbers such as 15.00.2000 (SQL Server 2019) instead.

The compatibility level of the source database does not matter: a SQL Server 2022 database at compatibility level 130 still has the SQL Server 2022 file format and cannot be restored on SQL Server 2016. Azure SQL Managed Instance follows the same rule through its update policy: Microsoft documents that only instances on the SQL Server 2022 or SQL Server 2025 update policy produce backups that SQL Server 2022 or SQL Server 2025 can restore, and that backups from the Always-up-to-date policy restore only to other Always-up-to-date instances.

Common causes

  • A backup from a newer SQL Server release (for example 2022) is being restored on an older one (for example 2019 or 2016), often a developer laptop or a test server that was never upgraded.
  • A vendor or another team sent a backup taken on their newer server.
  • A copy-only backup from Azure SQL Managed Instance on the Always-up-to-date update policy, or on a newer update policy than your SQL Server version, is being restored to SQL Server.
  • The restore was pointed at the wrong instance on a machine that runs several SQL Server versions side by side.

Diagnose it

Read-only These queries only read metadata and dynamic management views. They do not change data, permissions or configuration, so they are safe to run first.

Which version is the target server?

SELECT @@SERVERNAME AS server_name,
       SERVERPROPERTY('ProductVersion') AS product_version,
       SERVERPROPERTY('ProductMajorVersion') AS major_version,
       DATABASEPROPERTYEX(N'master', 'Version') AS internal_db_version;
What to look for

The product version (16 = SQL Server 2022, 17 = SQL Server 2025) and the internal database version this server writes. Make sure you are connected to the instance you think you are.

Which version wrote the backup?

On the server that took the backup, its history shows the version (run there). For a file from elsewhere, RESTORE HEADERONLY FROM DISK = ... reads the header and lists SoftwareVersionMajor and DatabaseVersion without restoring anything.

SELECT TOP (10) database_name, backup_finish_date,
       software_major_version, software_minor_version, software_build_version,
       database_version, compatibility_level
FROM msdb.dbo.backupset
ORDER BY backup_finish_date DESC;
What to look for

A software_major_version or database_version higher than the target server's confirms 3169. compatibility_level is shown only to make the point that it does not decide restorability.

How to fix it

Each fix is labelled with what it changes. Try read-only checks and the least invasive fix first, and test changes outside production.

Restore on the same or a newer SQL Server version

Client or network side

The only way to restore this backup is on an instance whose version is at least the source version. Upgrade the target instance, or use another server (a Developer edition install is fine for testing) that is on the same or a later release.

Move the data instead of the backup

Client or network side

If the data must go to an older version, export it rather than back it up: script the schema (avoiding features the older version lacks) and copy the data with bcp, SSIS or the Import and Export Wizard, or export a .bacpac with SqlPackage and import it, checking the result. This is a migration, so test it.

From Azure SQL Managed Instance: match the update policy

Client or network side

Check the instance with SELECT SERVERPROPERTY('ProductUpdateType'); (CU for the SQL Server 2022 or 2025 policy, Continuous for Always-up-to-date). Restore to the SQL Server version that matches the policy, or use export and import for an Always-up-to-date instance.

Examples

Restoring a newer backup on an older server

Shown as documented by Microsoft; not reproduced here, because the lab runs SQL Server 2025 and has no newer engine to produce such a backup. NNN and MMM stand for the two internal database versions.

-- On an older SQL Server, restoring a backup taken on a newer one
RESTORE DATABASE AppDb
FROM DISK = N'D:\Backups\AppDb_from_newer_server.bak';
Result
The database was backed up on a server running database version NNN. That version is incompatible with this server, which supports version MMM. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.

How to prevent it

Keep development, test and disaster recovery servers on the same or a later SQL Server version than production, and upgrade them first. Before anyone sends you a backup, agree the version it will be restored on.

For Azure SQL Managed Instance, choose the update policy with your restore needs in mind: Microsoft notes that moving to a newer policy upgrades the database format permanently.

Common questions

Can I restore a SQL Server 2022 backup on SQL Server 2019 by lowering the compatibility level?

No. Compatibility level changes query behaviour, not the file format. The backup still has the 2022 format and fails with 3169 on 2019.

Can I restore an older backup on a newer server?

Yes, within the supported upgrade paths for the target version. The database is upgraded during the restore and cannot be taken back to the old version afterwards.

Is there a tool that converts a backup to an older version?

Not for the backup itself. Move the schema and data with scripts, bcp, SSIS or a .bacpac instead.

Learn more on CodeWithSQL

Official documentation

Last technically reviewed 23 October 2026; examples and diagnostics run on SQL Server 2025 (17.0.1145.4). Message text checked against the engine's sys.messages catalogue.

Still stuck on a SQL Server error?

Browse the full SQL Server error library, or get hands-on help from an experienced SQL professional.