我正在将 SQL Server 数据库移动到新的 Windows 计算机,但是,我不想在此过程中丢失任何事务。我在任何地方都找不到任何与此相关的内容,这似乎很常见,因此任何帮助将不胜感激。
我有一个生产服务器和一个临时服务器。我想停用我的生产服务器,因此我创建了完整的数据库备份并将其恢复到我的临时服务器上。我想将生产端点指向临时服务器,使其成为生产环境。这非常有效,但是,我创建完整数据库备份直到生产端点切换之间的任何事务都会丢失。如何在不停机的情况下将这些事务转移到新的生产服务器?
我的想法是在临时服务器上导入完整的数据库备份,然后将生产指向该服务器,然后使用事务日志更新新服务器,但是,恢复完整备份后,恢复事务日志显示为灰色。
我见过建议在恢复完整备份时使用 NO RECOVERY 的帖子,但是,这会使数据库处于无法访问的状态,从而导致停机。
是的,如果您使用备份/恢复进行迁移,您至少需要一些停机时间。
最大限度地减少停机时间的一种选择如下:
FULL
数据库。保持在线。WITH NORECOVERY
到目标服务器上。LOG
源数据库。WITH NORECOVERY
。RESTORING
模式,这意味着不能在其上运行任何查询。备份应该非常快,特别是如果您执行了中间步骤。WITH RECOVERY
使用“使其联机”将其恢复到目标服务器上。即使在相对繁忙的 OLTP 数据库上,最终尾日志的大小也可能非常小,因此可以快速创建、快速传输和快速恢复。
不要忘记服务器级数据,例如登录名、DDL 触发器、证书和 SQL Server 代理数据库msdb
。不过,您可以在迁移主数据库之前单独移动它。
如果您绝对不能有任何停机时间,那么请准备好花大钱来通过同步提交正确设置可用性组。然后你就可以进行故障转移。但业务实际上需要这样做的情况很少见。
归档时间: |
|
查看次数: |
650 次 |
最近记录: |