我需要将100个数据库从各种SQL实例移动到另一个盒子上的其他相同实例。
我知道我可以手动分离,复制文件,重新附加,但有一个更容易/自动化的方式? 最好是一个UI工具来select要复制的数据库,并让它继续下去呢?
这与之前的问题类似,但是那已经是7年多了,也许事情已经发生了呢?
使用DBA Tools的 powershell库,你可以做这样的事情:
Get-DbaBackupHistory -SqlInstance Server1 | Restore-DbaDatabase -SqlInstance Server2 -withreplace
这将使用Server1上的现有备份并将其还原到Server2。 我的假设是,如果您对Server1上的所有数据库进行尾部日志备份,恢复将使用它们,并且您将有一个将数据库复制到Server2的有效方法,并且如果您需要去还有一个体面的回退计划回到服务器1(即运行restore [dbName] with recovery在服务器1上的所有restore [dbName] with recovery )
不再推荐detach / attach存储过程,因为它们可能会导致Service Broker和其他一些问题。 如果没有第三方工具,您最好还是购买一下,最好的方法是编写脚本,将所有数据库脱机,然后手动将数据和日志文件复制到新目标,然后将它们附加到“创build数据库”附上代码。 我有一些代码可以与你分享,如果你有兴趣,这些陈述自动化。
我很惊讶没有人提到内置的复制数据库向导 。 似乎正是我想要的!