Internal SQL Server Database Version Numbers
A database created by a more recent version of SQL Server cannot be attached or restored to an earlier version. This restriction is simply because an older version cannot know about file format changes that were introduced in the newer release.
If you attempt to attach a database to an earlier version, you will get SQL Server error 948 with the internal version numbers listed in the error message text. For example, the following error occurs if you try to attach a SQL Server 2008 R2 database to a SQL Server 2008 server:
The database ‘MyDatabase’ cannot be opened because it is version 665. This server supports version 661 and earlier. A downgrade path is not supported.
If you are unsure of the source database version, the table below maps the internal version numbers to SQL Server versions so you can determine the minimum version you need for the attach to succeed:
Check a backup file on disk for a database version
This command will show you the database version in this backup file. To check the contents in a backup you can use RESTORE HEADERONLY command.
RESTORE HEADERONLY
FROM DISK = ‘D:\MSSQL_BACKUP\My_DB_backup.bak’
SQL Server Version |
Internal Database Version |
SQL Server 2008 R2 |
665 |
SQL Server 2008 |
661 |
SQL Server 2005 SP2+ with vardecimal enabled |
612 |
SQL Server 2005 |
611 |
SQL Server 2000 |
539 |
SQL Server 7 |
515 |