【问题标题】:Could not open new database 'DB Name'. CREATE DATABASE is aborted (SQL Server, Error: 948)无法打开新数据库“数据库名称”。 CREATE DATABASE 被中止(SQL Server,错误:948)
【发布时间】:2011-02-24 09:39:46
【问题描述】:

*嗨,

案例:

我正在尝试将数据库从一台服务器移动到另一台服务器,源服务器具有 SQL Server 2008 R2,目标服务器具有 SQL Server 2008。

我只复制了 .mdf 文件,我尝试使用查询 sp_attach_db 和向导附加,但出现错误,如下所示:

为服务器附加数据库失败 '服务器名称'。 (Microsoft.SqlServer.Smo)

----------------------- 附加信息:
执行时发生异常 Transact-SQL 语句或批处理。 (Microsoft.SqlServer.ConnectionInfo)


数据库“DB_Name”不能 打开是因为它是 661 版。这个 服务器支持版本 655 和 早些时候。降级路径不是 支持的。无法打开新数据库 'DB_Name'。 CREATE DATABASE 已中止。 (Microsoft SQL Server,错误:948)

【问题讨论】:

  • 您需要将目标服务器升级到 R2。没有办法解决它。
  • 不能将数据库从 SQL Server 2008 R2“向下”移动到 SQL Server 2008。没有办法,没有技巧,没有解决方法 -它只是不起作用 - 你需要从同一个版本移动到同一个版本(或向上 - 但你不能向下)
  • 确定如何将目标服务器升级到 R2?

标签: sql-server database sql-server-2008 sql-server-2008-r2


【解决方案1】:

我认为不可能将数据库从较高版本的 SQL 服务器附加到较低版本。

比如2008到2003不行,

从 2003 年到 2008 年是可以的。

您可以尝试导入导出数据,但到目前为止我还没有弄清楚如何附加它。

【讨论】:

  • 感谢 WraithNath 的快速回放,但无法获取或导出 2008 R2 到 2008 的表数据?
  • 嗨 Owidat,我从来没有找到将高版本数据库恢复到低版本数据库的方法,但是如果您右键单击 SQL Server 中的数据库,您可以选择导入数据。然后在向导中指定要从中导入的服务器和数据库。您可以将所有对象导入到在较低版本 SQL 服务器上创建的新数据库中。可能需要一段时间才能运行,但我之前使用它从其他数据库复制表和数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多