将MS SQL数据库传输到其他服务器 – 最佳实践

将数据库从一台服务器移到另一台服务器的最佳方式是什么?

a)停止数据库>创build数据库备份>恢复到“其他服务器”

b)分离数据库>将ldf和mdf文件移到新的服务器并重新定位数据库

谢谢

我喜欢的方法是:

方法1:备份和还原用户数据库

备份源服务器上的用户数据库,然后将用户数据库还原到目标服务器。

数据库可以在备份过程中使用。 如果用户在备份完成后对数据库执行INSERT,UPDATE或DELETE语句,则备份将不包含这些更改。 如果您必须传输所有更改,则可以在执行事务日志备份和完整数据库备份的同时以最less的停机时间传输更改。 还原目标服务器上的完整数据库备份并指定WITH NORECOVERY选项。

注意为防止额外的数据库修改,请指示用户停止源服务器上的数据库活动。
执行事务日志备份,并使用WITH RECOVERY选项将事务日志备份还原到目标服务器。 停机时间仅限于事务日志备份和还原的时间。 有关更多信息,请参阅SQL Server联机丛书的“Transact-SQL参考”主题中的“RESTORE”子主题。

目标服务器上的数据库将与源服务器上的数据库大小相同。 要减小数据库的大小,必须在执行备份之前减less源数据库,或者在还原完成后减less目标数据库。 有关详细信息,请参阅SQL Server联机丛书的“创build和维护数据库”标题中的“缩小数据库”子主题。

如果将数据库还原到与源数据库不同的文件位置,则必须指定WITH MOVE选项。 例如,在源服务器上,数据库位于D:\ Mssql \ Data文件夹中。 目标服务器没有D驱动器,并且要将数据库还原到C:\ Mssql \ Data文件夹。 有关如何将数据库还原到其他位置的更多信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:

221465使用WITH MOVE选项和RESTORE语句
304692将SQL Server 7.0数据库移动到具有备份和还原的新位置

如果要覆盖目标服务器上的预先存在的数据库,则必须指定WITH REPLACE选项。 有关更多信息,请参阅SQL Server联机丛书的“Transact-SQL参考”主题中的“RESTORE”子主题。

根据还原到的SQL Server版本,源服务器和目标服务器上的字符集,sorting顺序和Unicodesorting规则可能必须相同。 有关更多信息,请参阅本节后面的“关于归类的注意事项”。

我喜欢这种方法,因为旧的服务器保持function,以防止移动不起作用。

详细信息: 如何在运行SQL Server的计算机之间移动数据库