在我们使用别人导出的数据库的时候,有时候我们会通过附加数据库的方法,把别人导出的数据库附加到我们的电脑中,这时,或许你会遇到这种问题,附加时,提示版本为XXX,无法打开,支持AAA版本。

      这是怎么回事呢?

      原来,版本号是指SQL Server的版本号,例如版本号661是SQL Server 2008 R2,版本号655是SQL Server 2008 等。它拥有向上兼容的特点。由此可见,标题的意思就是说,你要附加的数据库,只能在SQL Server 2008 R2及更高版本上运行,不能在SQL Server 2008 上运行,那么,我们该怎么处理这个问题呢?

      处理这种问题,有很多种方法,下面我就说两个我查到并使用的方法,仅供参考,如果有更好的方法,欢迎沟通。

  1. 方法一:       
            1.把这个数据库附加到装有SQL Server 2008 R2的数据上。
            2.打开Management Studio,登录到服务器,在数据库中选择要转移的数据库,右键--“任务(T)”--“生成脚本(E)...”。
            3.在“生成和发布脚本”窗口中,点击“下一步”
            4.“选择要编写脚本的数据库对象”,可以不做设置,点击“下一步”
            5.点击[保存到文件]右边的“高级”按钮,在对话框中,设置“为服务器版本编写脚本”为“SQL Server 2008”,设置“要编写脚本的数据的类型”为“架构和数据”。选择保存脚本的位置
            6.下一步,再下一步。导出完成

          把导出完成的程序,在放到SQL  Server 2008 中,按下面步骤:
             1.打开Management Studio,登录到服务器
             2.选择菜单“文件”——“打开”——“文件”,选择.sql脚本文件,点击工具栏中的“执行”按钮
             3.在左侧的“对象资源管理器”中右键“数据库”——“刷新”
           到此为止,“版本号661,无法打开,支持655版本及其以下版本……”这个错误就算是解决了。当然,如果你直接把数据库卸载,在装SQL Server 2008R2 , 也是可以完美解决这个问题的。

  2. 方法二:
    造成这个错误是因为把本地的SQL Server (MSSQLSERVER)服务给禁止了,而把SQL Server (SQLEXPRESS)服务给启动了,因为这样子,本来应该在数据库列表中的数据库都看不到,而且还原也还原不上去
    解决办法
    1,把SQL Server (SQLEXPRESS)服务先停止,然后右键属性禁用该服务
    2,启动SQL Server (MSSQLSERVER)服务