我们正在使用SQL Server 2008的多个服务器。我们希望将数据库从一个服务器移动到另一个服务器。我们做了以下过程
// #1
detach database on first server
// #2
physically copy database and log file to new server
// #3
attach database on new server
我们的方法不起作用,新服务器的最后一步失败
错误消息如下
处理数据库'DBTEST'的日志时出现BB错误 如果可能,从备份还原。如果备份不可用,则可能需要重建日志 无法打开新数据库'DBTEST'。 CREATE DATABASE被中止
使用当前文件进行恢复的任何更改,因为我现在可以再次获取这些文件/获取数据库文件的备份版本?我不知道如何重建日志文件?我甚至不能附上它们: - (
答案 0 :(得分:2)
鉴于您遇到此错误,我建议您尝试将文件附加回原始服务器,看看是否有任何错误。如果复制的版本不会附加,那么它们可能已经以某种方式被破坏。如果源服务器上仍有原始版本的文件,请尝试再次附加它们以查看是否出现此错误。如果您没有收到错误,则可以重新复制文件并重试。如果您收到错误,那么您唯一的选择就是从备份中恢复。
只要目标SQL Server的版本大于或等于源SQL Server,就可以通过detach和attach方法在服务器之间移动数据库。尽管错误并未表明存在这种情况,但您可能希望验证您的版本是否正确。
答案 1 :(得分:2)
我认为您应该遵循错误消息的建议:
If possible, restore from backup.
为什么不运行备份并将其还原到新计算机,而不是分离,复制,重新连接?
从来没有让我失望,我已经使用这种方法移动了100个数据库。