将64位数据库还原到32位数据库SQL Server

时间:2012-05-28 13:08:09

标签: sql-server-2008 32bit-64bit

在我的客户网站上,他们有 - Server 2008 OS上安装了SQL Server 2008 R2 64Bit Express Edition 在My Development环境中我有 - 安装了32位Vista机器和Sql Server 2008速成版

我的问题是如何将64位DB恢复到我的32位数据库

我尝试过的 1)在我的32位机器上创建64位DB备份和创建DB并恢复它 我收到错误

服务器'egov041 \ SQLEXPRESS2008'的恢复失败。 (Microsoft.SqlServer.SmoExtended)

System.Data.SqlClient.SqlError:数据库已在运行版本10.50.1600的服务器上备份。该版本与此服务器不兼容,该服务器运行的是10.00.2531版本。在支持备份的服务器上还原数据库,或使用与此服务器兼容的备份。 (Microsoft.SqlServer.Smo)

2)从服务器计算机复制MDF和LDF文件 并将其贴在我的机器上

我收到错误

为服务器'egov041 \ SQLEXPRESS2008'附加数据库失败。 (Microsoft.SqlServer.Smo)

其他信息:

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

无法打开数据库'PwdMhToll',因为它是版本661.此服务器支持655及更早版本。不支持降级路径。 无法打开新数据库'PwdMhToll'。 CREATE DATABASE被中止。 (Microsoft SQL Server,错误:948)

我指的是 1)http://social.msdn.microsoft.com/Forums/en/sqlexpress/thread/49f0adf1-8254-4e4a-b7ce-d9406d0ab6d6

2)http://blog.sqlauthority.com/2011/03/27/sql-server-32-bit-64-bit-html5-database-backup-restore/

3)http://blogs.msdn.com/b/cindygross/archive/2010/04/01/moving-data-between-32-bit-and-64-bit-sql-server-instances.aspx?CommentPosted=true#commentmessage

从这些帖子我得出结论,这是可能的, 有谁建议我的数据库恢复有什么问题... 在此先感谢

3 个答案:

答案 0 :(得分:3)

您的问题不在于32位与64位,但您尝试在旧版本上恢复/附加数据库。

如果要完成此任务,最好的方法是编写数据库脚本(模式和数据),然后在目标实例上运行脚本。

答案 1 :(得分:2)

  

数据库已在运行版本10.50.1600的服务器上备份。   该版本与正在运行的此服务器不兼容   版本10.00.2531。

这强烈暗示源数据库是2008 R2,而本地安装的版本是2008(而不是R2)。

答案 2 :(得分:0)

我发现这样做的最好方法是生成数据库脚本并在其他机器上执行它,这解决了我的问题 有关完整步骤,请参阅 http://blog.sqlauthority.com/2007/08/21/sql-server-2005-create-script-to-copy-database-schema-and-all-the-objects-stored-procedure-functions-triggers-tables-views-constraints-and-all-other-database-objects