Sql server 2008 SQL Server 2008到SQL Server 2005

Sql server 2008 SQL Server 2008到SQL Server 2005,sql-server-2008,Sql Server 2008,我有一个SQLServer2005的MDF和LDF文件。我将其与SQLServer2008连接,并对数据进行了一些更改。现在,当我将其连接回SQLServer2005Express Edition时,它给出了版本错误 数据库“E:\DB\jobbers.MDF” 无法打开,因为它的版本为 655此服务器支持版本612和更早版本。降级路径不可用 支持。无法打开新数据库 “E:\DB\jobbers.MDF”。创建数据库 被中止。试图连接一个 文件的自动命名数据库 E:\DB\jobbers.mdf

我有一个SQLServer2005的MDF和LDF文件。我将其与SQLServer2008连接,并对数据进行了一些更改。现在,当我将其连接回SQLServer2005Express Edition时,它给出了版本错误

数据库“E:\DB\jobbers.MDF” 无法打开,因为它的版本为 655此服务器支持版本612和更早版本。降级路径不可用 支持。无法打开新数据库 “E:\DB\jobbers.MDF”。创建数据库 被中止。试图连接一个 文件的自动命名数据库 E:\DB\jobbers.mdf失败。数据库 存在同名的,或 无法打开指定的文件,或者无法打开该文件 位于UNC共享上


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


所以你只有两个选择:升级或删除你的文件,在2005年安装时重做更新

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

这是一条单行道,您可以随时更新版本,但决不能降低版本,这是因为元数据发生了更改。

我知道问题出在哪里,这是一个描述性错误。但是我在问这个问题的解决办法。无论如何,谢谢大家的回复

遇到相同问题的任何人,请查看下面的踏板并阅读LEKSS回复

希望这会有所帮助


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

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

您无法备份/还原或删除 从更高版本分离/连接到 较低的版本

  • 使用“数据库发布向导”获取中所有对象的脚本 2008分贝


  • 在2005实例中创建一个新的空数据库
  • 在新的2005数据库中执行上面生成的脚本
  • 将SQL server登录名/用户从2008数据库移动到2005数据库 使用sp_help_revlogin存储 程序
  • 谢谢,列克斯

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


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

    基本上从连接字符串值中删除“\SQLEXPRESS”。 而不是: 数据源=.\SQLEXPRESS;AttachDbFilename=|数据目录|\OTJDB.mdf;综合安全=真实;用户实例=True

    使用:
    数据源=。;AttachDbFilename=|数据目录|\OTJDB.mdf;综合安全=真实;User Instance=True

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

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

    我刚刚将文件粘贴到服务器Inetpub位置,其中包含我网站文件的App_数据文件夹,瞧!没有更多的兼容性问题


    然后使用SQLServerManagementStudio重新附加刚刚粘贴到Inetpub中的DB文件,它就工作了

    那是什么样的兼容性呢!!谢谢,你用一块石头打倒了两只鸟D我安装了MsSql Server Express 2008 R2,无法使用其实例名
    \MSSQLSERVER
    连接到它,仅使用
    就成功了。在连接字符串中更改它也有助于我连接到。mdf这为我提供了结合以下小细节的解决方案: