我正在使用 SQL Server 2008 Enterprise。我需要将数据库(作为一个整体)转移到另一台服务器(以创建重复数据库来设置另一个测试环境)。
我有两个选择,(1)在源服务器上进行完整备份/在目标服务器上恢复;(2)在源服务器上分离/在目标服务器上连接。
根据我的要求,这两种解决方案有哪些优缺点?
提前致谢,乔治
答案1
一想到要分离数据库、将其文件复制到其他位置,然后将其重新连接到生产服务器(并将副本连接到测试服务器),我就不寒而栗。备份旨在提供完整的数据库副本,无需停机。它也不会给源数据库的文件带来意外移动/删除/损坏的机会,在分离/连接操作期间,我曾多次看到这种情况发生(由于用户错误 - 打字错误或鼠标失误)。此外,传输数据库+日志可能会导致传输文件大小比备份大得多。
只需进行备份,然后将备份文件复制/移动到目标服务器即可。很多从生产角度来看,这样做更安全。
答案2
希望 DBA 可以加入进来,因为我不是数据库专家。但我确实知道我在执行分离/附加而不是备份/恢复时遇到了与架构相关的问题。我一直认为更安全的方法是备份和恢复。
答案3
分离/附加可能会更快,具体取决于您的恢复模型以及您是否在备份中使用压缩。分离和附加几乎是即时的,而将备份文件写入源服务器,然后将数据库文件写入目标服务器则需要一段时间。
答案4
我总是使用备份/恢复 - 它的侵入性较小,可以使您的数据库保持在线,并且相当简单 - 我就是活生生的证明。
我假设您每天/每周/随时都在运行备份...有什么比将备份复制到测试服务器更简单吗?[显然,100GB 的数据需要一段时间!]