【问题标题】:SQL Server 2008 to SQL Server 2005SQL Server 2008 到 SQL Server 2005
【发布时间】:2012-10-11 14:32:02
【问题描述】:

我有一个 SQL Server 2005 的 MDF 和 LDF 文件。我将它与 SQL Server 2008 一起附加,并对数据进行了一些更改。现在,当我将它附加回 sql server 2005 Express Edition 时,它会给出版本错误。

数据库'E:\DB\JOBPERS.MDF' 打不开因为是版本 655.本服务器支持612及更早版本。降级路径不是 支持的。无法打开新数据库 'E:\DB\JOBPERS.MDF'。创建数据库 被中止。尝试附加一个 文件的自动命名数据库 E:\DB\Jobbers.mdf 失败。一个数据库 存在同名的,或 指定的文件无法打开,或者它 位于 UNC 共享上。

【问题讨论】:

    标签: sql-server-2008


    【解决方案1】:

    我知道问题是什么,它是退出描述性错误。但正在询问该问题的解决方案。无论如何感谢大家的回复。

    遇到同样问题的人,请参阅下面的步骤并阅读 LEKSS 回复 http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/46ce6099-61c6-4526-9dda-10a3359386cb

    希望这会有所帮助


    更新:引用外部链接以确保安全

    无法打开数据库“ASPNETDB.MDF”,因为它是 655 版。此服务器 支持 612 及更早版本。

    您无法备份/恢复或 从更高版本分离/附加到 低版本。

    1. 使用数据库发布向导获取所有对象的脚本 2008分贝

    http://www.microsoft.com/downloads/details.aspx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en
    http://blogs.msdn.com/webdevtools/archive/2007/10/15/sql-database-publishing-wizard-is-now-in-visual-studio-orcas.aspx
    http://msdn.microsoft.com/en-us/library/bb895179.aspx

    1. 在您的 2005 实例中创建一个新的空数据库。
    2. 在您的新 2005 数据库中执行上面生成的脚本。
    3. 将 SQL Server 登录名/用户从 2008 数据库移动到 2005 数据库 使用 sp_help_revlogin 存储 程序。

    谢谢,雷克斯

    建议作为答案 byyup。 _ 2010 年 5 月 9 日星期日上午 10:14
    标记为答案由 Tom Li - MSFTMicrosoft, 主持人 2010 年 5 月 20 日星期四 4:58 上午

    【讨论】:

    • 那是什么兼容性!!
    【解决方案2】:

    您的 MDF 和 LDF 现在是 655 版(SQL 2008 版)。正如错误消息明确指出的那样,没有降级的可能性。从现在开始,您只能将这些文件附加到 SQL Server 2008 或 SQL Server 2008 R2(这会将它们升级到 661 btw)。您永远不能将这些文件附加回 SQL 2005 实例。

    【讨论】:

      【解决方案3】:

      我知道这个问题已经得到解答,但这个问题为我解决了问题:

      database-cannot-be-opened-because-it-is-version-655

      基本上从连接字符串值中删除“\SQLEXPRESS”。 代替: 数据源=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\OTJDB.mdf;Integrated Security=True;User Instance=True

      使用: 数据源=.;AttachDbFilename=|DataDirectory|\OTJDB.mdf;Integrated Security=True;User Instance=True

      【讨论】:

      • 谢谢,你用 1 块石头击倒了 2 只鸟。 :D 我已经安装了 MsSql Server Express 2008 R2 并且无法使用其实例名称 .\MSSQLSERVER 连接到它,仅使用 . 就可以了。在连接字符串中更改它也帮助我连接到 .mdf
      • 结合这个小细节给了我解决方案:stackoverflow.com/questions/3641671/…
      【解决方案4】:

      这是因为文件格式根本不同。如果您将文件附加到 SQL Server 2008,则必须将您的 express 版本升级到 leas。您上次将文件附加到的版本。

      因此您只有 2 个选择:升级或放弃您的文件并在 2005 安装时重做更新。

      【讨论】:

        【解决方案5】:

        这是一条单向的街道,你总是可以提高厌恶但永远不会降低版本,这是因为元数据的变化

        【讨论】:

          【解决方案6】:

          我也遇到了这个问题。但这里有一个更简单的方法来解决这个问题:

          我所做的是从我的开发机器上的源文件中复制我的原始 .MDF DB 文件,在那里我使用 Visual Studio 早期版本保留所有 .MDF 文件的备份,然后将文件直接复制到服务器,因为我有直接访问我的服务器。

          我刚刚将文件粘贴到服务器 Inetpub 位置,其中 App_Data 文件夹用于我的网站文件,瞧!不再有兼容性问题。

          然后使用 SQL Server Management Studio 重新附加您刚刚粘贴到 Inetpub 中的 DB 文件,它就可以工作了!

          【讨论】:

            猜你喜欢
            • 2010-10-25
            • 1970-01-01
            • 2010-09-29
            • 2011-04-29
            • 1970-01-01
            • 2010-10-13
            • 2013-10-23
            • 1970-01-01
            • 2023-04-04
            相关资源
            最近更新 更多