【问题标题】:C#-The database cannot be opened because it is version 706 [duplicate]C#-数据库无法打开,因为它是706版[重复]
【发布时间】:2014-05-21 07:47:31
【问题描述】:

我正在尝试连接但出现错误

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

我的 SQL 版本:

Microsoft SQL Server 2012 - 11.0.2100.60 (X64) 
Copyright (c) Microsoft Corporation
Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

我的连接字符串:

"Server=.\\SQLExpress;AttachDbFilename=" + datasource + ";Trusted_Connection=Yes;User Instance=True;"

为什么连接不上?我从 x86 系统转移到 x64 系统并安装了与 x86 相同的软件。我安装的软件是基于 x64 的。

【问题讨论】:

  • 绝对确定“.\\SQLExpress”指的是您提到的“我的规格”的 SQL Server 2012 Express 实例吗?听起来您可能有一个 2008 年剩余的实例,您无意中尝试将数据库附加到该实例。
  • 如果是这样我如何将其更改为 2012 实例
  • 尝试使用 Mgmt Studio 连接到 .\SQLExpress 并运行 SELECT @@Version - 你会得到什么?如果那是 2008 版本(我假设是),那么您的 SQL Server 2012 Express 必须安装在不同的实例名称下。找出那是什么,连接到那个实例 - 你就完成了!
  • 仅供参考,我的规格 = 我的版本

标签: c# sql-server


【解决方案1】:

不能执行此操作 - 您无法从 较新版本的 SQL Server 附加/分离或备份/恢复数据库(内部数据库版本为 706 - 可能SQL Server 2012)到旧版本(您的引擎支持最高 655 的版本 - 即 SQL Server 2008)- 内部文件结构差异太大,无法支持向后兼容性。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    相关资源
    最近更新 更多