我希望将数据库“移动”到不同的服务器,同时尽量减少对数据和服务的干扰。这些数据库的大小从 5GB 到 140GB 不等。
我已经看到甚至使用过 SQL Server 的各种数据传输工具,但我不确定最佳实践是什么(分离/重新连接、从备份还原、发送事务日志、镜像...)。
我最大的担心是这些数据库有很多存储过程、用户权限和各种索引,我不想丢失它们并最终中断服务。
我最近的脑残想法是设置一个镜像,然后启动手动故障转移。但是,我宁愿在进行我以前从未做过的事情之前先问清楚。
TL;DR 移动 SQL Server 数据库的最佳实践方法有哪些,可以最大限度地减少服务中断的威胁。
根据我的经验,分离/附加是最快的方法。瓶颈可能是您通过网络复制文件的速度。
假设这两个数据库具有相同的 Windows 帐户(如果您使用的是 SQL 帐户,则可能需要更新 SID),您可能会使用我在开始在 PowerShell 中重写所有内容之前放置的这个脚本之类的东西。:) 它旨在在源服务器上运行,并使用带有要移动的数据库列表的文件。
如果您无法在网络上复制您的 140GB 文件,那么我已经使用复制数据库向导获得了好运。不过,如果可能的话,我仍然会使用分离/附加。
祝你好运!