错误:无法将数据库附加到SQL Server 2012

时间:2012-09-02 18:51:08

标签: sql database sql-server-2012

我有SQL Server 2012而且我正在尝试附加以前与SQL Server 2012一起使用的数据库,令人惊讶的是我收到以下错误:

  

无法打开数据库'DatabaseName',因为它是版本   706.此服务器支持版本622及更早版本。不支持降级路径。

我真的不明白这是怎么发生的,因为就像我说它与2012版本一样使用。我究竟做错了什么?我怎样才能使它工作?请详细说明如何解决这个问题。

谢谢!

3 个答案:

答案 0 :(得分:1)

错误听起来就像您尝试将数据库附加到的服务器不是SQL Server 2012.这可能是您正在使用的Management Studio / Management Studio Express的版本,但我怀疑SELECT @@VERSION;会告诉您你有别的东西。如果您安装了多个SQL Server实例,它可能只是一个连接字符串混合,否则您应该download and install SQL Server 2012 Express from here

@source

答案 1 :(得分:0)

听起来你有以下配置和源数据库:

  1. SQL Server 2008 SP3(版本10.0 ...) - 数据库引擎
  2. SQL Server Management Studio 2012(版本11.0 ...) - 管理工具
  3. 使用SQL Server 2012(版本706)
  4. 创建的数据库

    如前所述,您可以为SQL Server 2008安装SSMS(在卸载SSMS for SQL Server 2012之后)。然后你必须为这个版本编写数据库脚本并通过'Tasks> Script ...'重新运行脚本,记住设置目标服务器版本,如下所示。

    Script for Server Version option

    在脚本编写之后,您可以使用导入/导出向导导出数据,然后将数据导入新的(降级的数据库),假设数据库没有仅限2012的数据类型(例如序列)。

    另一个考虑因素是数据库兼容级别,如下所示。您可以拥有一个SQL Server 2012实例,该实例托管具有各种兼容级别的数据库。

    Database compatibility level

答案 2 :(得分:0)

使用SELECT @@VERSION对我来说效果很好。您的数据库引擎已连接到2008 DB,当然不允许您附加。一旦我将数据库引擎更改为连接到2012 DB,它就适用于我。

检查数据库引擎连接。您可以使用2012 Management Studio,但仍可连接到2008 DB。这就是我发生的事情,我用SELECT @@ VERSION解决了它。