We all know that the database files of the advanced version cannot be restored or appended to the lower version, because the format of the files of the higher version and the lower version is different. If you try to append or restore a database of a lower version to a database of a lower version, you will see an error similar to the following:
The disk structure version of The backed up database is 611, and the server supports version 539. The database cannot be restored or upgraded. Restore
The filelist operation ends abnormally. (Microsoftsql server, error: 3169)
We can see that there are two version numbers, not the server version number (select @ version) we usually see, but the internal database version number of sqlserver. These versions do not have official documentation. However, you can use the databasepropertyex 'version' option to obtain the version number.
Select databasepropertyex ('master', 'version ')
Here, I found the configuration table of the internal database version corresponding to all sqlserver versions on the Internet (Ternal SQL Server database version numbers):
Target SQL Server version |
Source SQL Server version |
Internal database version |
SQL Server 2008 r2 |
SQL Server 2008 r2 |
665 |
SQL Server 2008 |
661 |
Sqlserver 2005 with vardecimal Enabled |
612 |
SQL Server 2005 |
611 |
SQL Server 2000 |
539 |
SQL Server 2008 |
SQL Server 2008 |
661 |
Sqlserver 2005 with vardecimal Enabled |
612 |
SQL Server 2005 |
611 |
SQL Server 2000 |
539 |
SQL Server 2005 sp2 + |
Sqlserver 2005 with vardecimal Enabled |
612 |
SQL Server 2005 |
611 |
SQL Server 2000 |
539 |
SQL Server 7 |
515 |
SQL Server 2005 |
SQL Server 2005 |
611 |
SQL Server 2000 |
539 |
SQL Server 7 |
515 |
SQL Server 2000 |
SQL Server 2000 |
539 |
SQL Server 7 |
515 |
SQL Server 7 |
SQL Server 7 |
515 |
In this configuration table, we can see that the cause of the error is to try to restore the 2005 backup file to 2000. If you do not have version 2005, you can only export the 2005 database script to version 2000 and then import the data.
Description of the databasepropertyex 'version' option on msdn: the internal version number of the SQL server code used to create a database. The SQL Server tool is only used internally for upgrade.