使用SQL2012附加一個資料庫時報出了以下錯誤:“無法更新資料庫....因為此版本的 SQL Server 不支援該資料庫的非釋出版本(539)。不能打開與此版本的 sqlserver.exe 不相容的資料庫。必須重新建立該資料庫。”
詳細截圖如下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc5WNXlVN1clW6x2RiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TM2ATMzkTNyEDOxYDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
經過檢索得知:原來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句來檢視:
|