附加/分离与备份/恢复

15 sql-server-2008 sql-server backup restore

我需要将数据库(作为一个整体)传输到另一台服务器,以制作一个重复的数据库来设置另一个测试环境。

我有两个选择:

  1. 在源服务器上进行完整备份/在目标服务器上进行还原;
  2. 在源服务器上分离/在目标服务器上附加。

根据我的要求,这两种解决方案的优缺点是什么?

我正在使用 SQL Server 2008 企业版。

gbn*_*gbn 12

备份/恢复通常应该是您选择的方法。在大多数情况下它会更快。

您可以始终如一地使用它,也可以用于生产测试。

也请参阅此相关问题,其中提到了备份/恢复与分离/附加:

SQL Server 迁移还原备份与复制数据和日志文件

确保将WITH COPY_ONLY选项添加到备份中,这样它就不会破坏现有的维护计划备份链。


Bob*_*ack 6

  1. 分离数据库将使其脱机。如果在将数据库复制到另一台服务器时需要数据库保持联机,请进行备份。
  2. 移动和恢复备份文件 (.bak) 可能比移动和附加多个 mdf/ldf 文件更简单/更容易(就像分离数据库时那样)。
  3. 从理论上讲,数据库分离/附加在技术上可能更快,但在实践中,备份/恢复可能更快更容易。当您分离数据库时,您首先必须使原始数据库脱机(断开所有人和所有事物的连接),然后数据库将不可用,直到您重新附加。您还必须跟踪所有文件,而使用备份将所有文件分组。

如果您决定备份/恢复,请在备份期间使用 WITH COPY_ONLY 选项以确保任何现有维护计划的备份链不会中断。

.bak 文件压缩得很好,因此如果您决定进行备份,在移动之前压缩备份可能会节省一些传输时间。


小智 4

我会进行备份/恢复,因为它使原始数据库处于运行状态。

特别是如果您正在进行“生产到测试”的转换,生产数据库保持在线非常重要。

备份/恢复也是一个更安全的选择:如果文件在分离、复制、附加等开始之间的某个位置损坏,会发生什么?至少,如果您执行备份并且文件损坏,您可以重新开始。如果分离时发生这种情况,您的数据库就会消失。

另外,对我来说(尽管它比其他任何事情都更像是一种感觉),备份/恢复是“日常工作”,而分离/附加是在特殊情况下执行的操作。不要问我这个想法是从哪里来的;-)