使用SQL2012附加一個數據庫時報出了以下錯誤:“無法升級數據庫....因為此版本的 SQL Server 不支持該數據庫的非發布版本(539)。不能打開與此版本的 sqlserver.exe 不兼容的數據庫。必須重新創建該數據庫。”
詳細截圖如下:
經過檢索得知:原來539 是Sql Server2000數據庫的內部版本號,也就是說要附加的數據庫文件是由Sql Server 2000創建的,但是我們知道Sql Server 2012 數據庫是不兼容Sql Server 2000數據庫的。如下圖所示:
原來要附加的數據庫是Sql Server 2000創建的數據庫,故出現了以上的錯誤情況。此時便有了針對性的解決辦法:Sql Server 2000數據庫->(先附加到)Sql Server 2005/2008(可在另一台機子上完成或本機安裝虛擬機,虛擬機上安裝Sql Server 2005/2008)->然后分離數據庫,拷貝到目標文件夾再附加到Sql Server 2012上。
以下是查詢到的Sql Server2012以前的微軟所有 Sql Server數據庫的內部版本號列表: (Sql Server2012數據庫的內部版本號為 706)
Target SQL Server Version |
Source SQL Server Version |
Internal Database Version |
SQL Server 2008 R2 |
SQL Server 2008 R2 |
665 |
SQL Server 2008 |
661 |
|
SQL Server 2005 with vardecimal enabled |
612 |
|
SQL Server 2005 |
611 |
|
SQL Server 2000 |
539 |
|
SQL Server 2008 |
SQL Server 2008 |
661 |
SQL Server 2005 with vardecimal enabled |
612 |
|
SQL Server 2005 |
611 |
|
SQL Server 2000 |
539 |
|
SQL Server 2005 SP2+ |
SQL Server 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
|
通過以上表,我們就可以很快理解這個錯誤提示了。如果要查看Sql Server的內部版本號,也可以通過下面的Sql句來查看:
SELECT DATABASEPROPERTYEX('MASTER','VERSION')
(END)