0

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

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

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

谢谢!!

4

3 回答 3

1

该错误听起来像是您尝试将数据库附加到的服务器不是 SQL Server 2012。这可能是您正在使用的 Management Studio / Management Studio Express 的版本,但我怀疑SELECT @@VERSION;会告诉您一些不同的东西。如果您安装了多个 SQL Server 实例,则可能只是连接字符串混淆,否则您应该从此处下载并安装 SQL Server 2012 Express

@来源

于 2012-09-02T18:55:25.913 回答
0

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

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

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

服务器版本选项的脚本

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

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

数据库兼容级别

于 2012-09-10T23:20:25.973 回答
0

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

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

于 2013-09-02T03:51:22.810 回答