【问题标题】:Failed to Attach Database?附加数据库失败?
【发布时间】:2015-03-27 05:36:34
【问题描述】:

我使用 SQL Server 2008 创建了一个数据库并将其分离。

当我尝试在另一台服务器上重新连接时,我收到以下消息:

标题:Microsoft SQL Server Management Studio

为服务器“x-PC”附加数据库失败。 (Microsoft.SqlServer.Smo)

附加信息:

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

无法打开数据库“管理”,因为它是版本 661。此服务器支持版本 655 和更早版本。不支持降级路径。
无法打开新数据库“manage_test”。 CREATE DATABASE 已中止。
(Microsoft SQL Server,错误:948)

【问题讨论】:

  • 更新您附加的“SQL Server Management Studio”版本。它会解决的。 microsoft.com/products/ee/…
  • @fr34k:更新 Management Studio 根本没有帮助....与此相关的是 核心引擎版本 case - 不是管理工具的版本 ....

标签: sql database sql-server-2008


【解决方案1】:

您不能从较新版本的 SQL Server 到 较旧版本附加/分离或备份/恢复数据库 - 内部文件结构太不同了支持向后兼容。

在您的情况下,您有一个 SQL Server 2008 R2 数据库(版本 661),并且您正在尝试将其附加到 SQL Server 2008 服务器(版本655)。这将不起作用,因为 SQL Server 20082008 R2两个不同的版本 - 它们在运行时兼容从 2008 R2 “下降”到 2008。

您可以通过以下方式解决此问题

  • 在所有机器上使用相同版本的 SQL Server - 然后您可以轻松地在实例之间备份/恢复数据库

  • 否则,您可以在 SQL Server Management Studio (Tasks > Generate Scripts) 或使用第三方工具

  • 或者您可以使用 Red-Gate 的 SQL CompareSQL Data Compare 等第三方工具在源和目标之间进行“差异化”,根据这些差异生成更新脚本,然后在目标平台;这适用于不同的 SQL Server 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多