SQL Server 2008 R2 Express:SQL Server 2008 Developer中未附加MDF文件

时间:2011-07-10 07:11:35

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

我在快递和开发者添加中使用此命令

select @@VERSION

Express服务器结果在

之下
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86)
    Apr 22 2011 11:57:00
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)

和开发者结果是打击

Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)   
Jul  9 2008 14:43:34   Copyright (c) 1988-2008 Microsoft Corporation  Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3) 

当我尝试将Express版本的MDF文件附加到我的开发人员版本时,我收到此错误:

  

执行a时发生异常   transact sql语句或批处理   数据库'example'无法打开   因为它是版本661.这   服务器支持655版   不支持降级路径   没有打开新数据库'example'创建   数据库已中止。 Microsoft Server,   错误:948

3 个答案:

答案 0 :(得分:3)

由于您的Express版本比您的Developer版本更新,您将无法直接迁移,但您可以按我的偏好顺序选择一些选项:

  1. 升级到SQL Server 2008 R2 Developer Edition - 迄今为止最简单的方法
  2. 使用第三方产品复制架构,然后使用数据(例如Red Gate SQL Compare / SQL Data Compare - 我在博客中发布了其他几个选项here)。
  3. 使用手动脚本,例如this one from Jonathan Kehayias
  4. 使用Developer Edition中的import-export wizard从Express
  5. 中提取数据/架构

答案 1 :(得分:1)

这是你的sql版本的问题。您已在另一个版本中创建了数据库,并且您尝试附加的版本是不同的旧版本。

您可以做的是创建一个备份文件,然后创建一个新的空数据库,然后在其中恢复该备份。

注意:恢复时,提供备份文件后,在左侧看到,有“选项”,单击它,然后在那里,你必须选择覆盖选项,否则它会给你结构错误,数据库备份您尝试连接的结构与正在还原备份的数据库的结构不同。

答案 2 :(得分:0)

由于SQL Server不允许降级,您可以在SQL Server 2008实例中创建数据库备份,并使用第三方工具ApexSQL Diff和ApexSQL Data Diff将备份从较旧版本恢复到较新版本的SQL Server。

您可以在本文中阅读有关该过程的详细说明:Restoring SQL Server database backup to an older version of SQL Server

希望这有帮助

免责声明:我作为支持工程师为ApexSQL工作