2012-09-02 194 views
0

我有SQL Server 2012中,我试图附加预先用SQL Server 2012中使用的分贝,令人惊讶的,我发现了以下错误:错误:无法连接数据库到SQL Server 2012

The database 'DatabaseName' cannot be opened because it is version 706. This server supports version 622 and earlier. A downgrade path is not supported.

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

谢谢!

回答

1

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

@source

+0

SELECT @@ VERSION GIVES:Microsoft SQL Server 2008(SP3) - 10.0.5500.0(X64).......这是没有任何意义的,因为帮助 - >关于给我SQL Server 2012标志信息一行说:Microsoft SQL Server Management Studio \t 11.0.2100.60 ....令人困惑:o有什么想法? – Popokoko

+0

这意味着你的服务器是SQL Server 2008 – heretolearn

+0

这可能是因为你有2012管理工作室和2008服务器数据库。这就是发生这种错误的原因。 – heretolearn

0

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

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

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

Script for Server Version option

脚本,那么你可以使用导入/导出向导导出,然后运行轨迹的数据到新的(降级的数据库),假设数据库后没有2012只的数据类型(如序列)。

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

Database compatibility level

0

使用SELECT @@VERSION作品对我非常好。您的数据库引擎已连接到2008年的数据库,这肯定不允许您附加。一旦我将我的数据库引擎更改为连接到2012年DB,它适用于我。

检查您的数据库引擎连接。您可以在2012管理工作室工作,但仍可连接到2008 DB。这是发生在我身上的事情,我用SELECT @@ VERSION解决了它。

相关问题