我有一个包含最新数据的数据库,我想将数据库内容复制到其他一些服务器中。由于非技术原因,我无法直接使用replicate函数或sync函数来同步到其他SQL Server实例。
现在,我有两个解决方案,我想了解每个解决方案的优缺点。谢谢!
方案一:分离包含最新数据的源库,然后复制到需要最新数据的目标服务器,并在目标服务器上附加数据库;
方案二:对整个数据库进行源机全量备份,然后将数据拷贝到目的机端,在目的机端进行全量恢复。
先谢谢你,乔治
发布于 2009-03-04 11:08:26
分离/附加选项通常比执行备份更快,因为它不必创建新文件。因此,从服务器A到服务器B的时间几乎是纯文件复制时间。
backup / Restore选项允许您执行完全备份、还原,然后执行差异备份,这意味着可以减少两者之间的停机时间。
如果您想要的是数据复制,这是否意味着您希望数据库在这两个位置都能正常工作?在这种情况下,您可能需要backup / restore选项,因为这将使当前数据库完全正常工作。
编辑:只是为了澄清几点。所谓停机,我的意思是,如果您正在将数据库从一台服务器迁移到另一台服务器,您通常会在传输过程中阻止人们使用它。因此,从服务器A上的“停止”点到服务器B上的“开始”点,这可以被认为是停机。否则,在传输过程中对服务器A上的数据库执行的任何操作都不会复制到服务器B上。
关于“创建一个新文件”。如果拆离数据库,可以立即复制MDF文件。它已经在那里准备好被复制了。但是,如果执行备份,则必须等待创建.BAK文件,然后将其移动到新位置进行恢复。同样,这一切都归结为这是快照拷贝还是迁移。
发布于 2012-09-17 22:18:57
备份和恢复更有意义,即使您可能会从分离连接选项中多花几分钟时间。在断开连接之前,必须使原始数据库脱机(断开所有人的连接),然后在重新连接之前,数据库将不可用。您还必须跟踪所有文件,而使用备份时,所有文件都是分组的。而且,使用最新版本的SQL Server时,备份是压缩的。
更正一下:数据库备份和差异备份不会截断日志,也不会中断日志链。
此外,COPY_ONLY功能仅适用于差异基准,而不适用于日志。假设日志链中没有中断,则可以从任何备份按顺序应用所有日志备份。存档点有一点不同,但我看不出这有什么关系。
发布于 2009-03-04 11:10:41
解决方案2将是我的选择...主要是因为它不会在源数据库上创建任何停机时间。我能看到的唯一缺点是,根据数据库恢复模型,事务日志将被截断,这意味着如果您想要恢复事务日志中的任何数据,您将不得不使用备份文件。
编辑:找到一个很好的链接;http://sql-server-performance.com/Community/forums/p/5838/35573.aspx
https://stackoverflow.com/questions/610113
复制相似问题