| 
       使用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)  |