我在测试机器和生产机器上部署了一个数据库。测试数据库中有一些数据(表的列),我想将其复制到生产中。
当我尝试将备份恢复到生产盒时,我收到以下错误:
System.Data.SqlClient.SqlError:数据库已在运行版本10.50.1600的服务器上备份。该版本与此服务器不兼容,该服务器运行的是10.00.4000版。在支持备份的服务器上还原数据库,或使用与此服务器兼容的备份。 (Microsoft.SqlServer.Smo)
是否有另一种方法可以将数据输入表中?
答案 0 :(得分:3)
此答案仅在您需要数据时(来自此处:http://sqlserverlearner.com/tag/the-database-was-backed-up-on-a-server-running-version-10-50-1600-that-version-is-incompatible-with-this-server):
答案 1 :(得分:0)
你可以
您应该将环境保持在相同版本/ rev。 SQL Server还原不向后兼容。
答案 2 :(得分:0)
这是恢复数据库时sqlserver版本不匹配的问题。这意味着无法将数据库服务器2008还原到2005.它不支持更高版本到更低版本。
可以使用以下选项,
您可以链接服务器并将表从一台服务器移动到其他服务器
生成sql脚本并在目标数据库中执行
使用以下URL生成插入脚本并将生成的脚本执行到目标服务器。
http://www.codeproject.com/Articles/5598/Generating-INSERT-statements-in-SQL-Server
答案 3 :(得分:0)
使用生成脚本和数据,您可以选择MSSQL的版本。然后在您想要的服务器上运行输出的SQL。
答案 4 :(得分:0)
理想情况下,您需要升级生产服务器以匹配您的测试环境,否则您的测试可能并不总是具有代表性。
如果它们是不同的版本,您无法将数据库还原到较旧版本的SQL Server,则应使用generate scripts命令创建新表并插入数据,或者使用类似的工具来自RedGate的SQL比较/数据比较将为您完成所有这些。
答案 5 :(得分:0)
你可以使用redgate toolbelt工具包将不同版本的sql server或sql server之间的数据同步到sql azure或sql azure到sql server database。它非常易于使用。