将 SQL Server 2016 (Windows 2012r2) 中的 6 TB 数据库迁移到另一台服务器 SQL Server 2019 (Windows 2019) 的最佳(即最快)方法(备份和还原)是什么?
例如,我们可以在 SQL Server 2016 上分离数据库并在 SQL Server 2019 上附加数据库吗?
将 SQL Server 2016 (Windows 2012r2) 中的 6 TB 数据库迁移到另一台服务器 SQL Server 2019 (Windows 2019) 的最佳(即最快)方法(备份和还原)是什么?
例如,我们可以在 SQL Server 2016 上分离数据库并在 SQL Server 2019 上附加数据库吗?
如果您使用备份和恢复将数据库从服务器 A 移动到服务器 B,您的过程将是
鉴于这是一个 6TB 的数据库,这两个过程都不可避免地需要时间,为了便于论证,假设备份需要两个小时,恢复需要两个小时。
如果您的备份在中午 12 点开始,则从中午 12 点开始所做的所有更改都将包含在备份文件中,备份在下午 2 点完成。如果您随后在下午 2 点在服务器 B 上开始还原,这意味着在下午 4 点还原完成时,服务器 B 上的数据库将落后两个小时,因为在还原到服务器 B 所需的时间内对服务器 A 进行了更改,并且这些更改不在备份中。
然后,您需要捕获在服务器 B 上恢复备份期间服务器 A 上发生的更改,您的选择是差异备份和/或日志备份。
您可以执行以下操作以确保在进行最终日志备份后不会对服务器 A 上的数据库进行进一步更改:
BACKUP LOG YourDB TO DISK = '\\somewhere\backup.trn' WITH NORECOVERY
此时,服务器 A 上的数据库进入
NORECOVERY
并且无法访问,现在出现中断,持续将日志恢复到服务器 B(带恢复)并重新指向所有应用程序等所需的时间通过在迁移之前设置日志传送、镜像或可用性组,并在准备好故障转移时“翻转开关”,可以使此过程更加顺利,这应该可以最大限度地减少停机时间。