我在 Windows 2008R2 + SQL Server 2005 SP4 上为我的数据库准备了新服务器。
我总是将备份恢复数据库的时间估计为在基地所在的位置复制备份文件的时间。
但这次这个指标有很大不同。
复印需要 30 分钟。
还原数据库需要 300 分钟。
恢复数据库后,所有操作都按预期快速进行。
我无法理解恢复数据库如此缓慢的原因。
我在 Windows 2008R2 + SQL Server 2005 SP4 上为我的数据库准备了新服务器。
我总是将备份恢复数据库的时间估计为在基地所在的位置复制备份文件的时间。
但这次这个指标有很大不同。
复印需要 30 分钟。
还原数据库需要 300 分钟。
恢复数据库后,所有操作都按预期快速进行。
我无法理解恢复数据库如此缓慢的原因。
恢复操作缓慢的基本原因可能是
您正在恢复的硬盘无法处理满足所有请求所需的 I/O 请求。可能是一个繁忙的磁盘,其 I/O 正在被其他进程使用,并且您开始恢复创建额外的负载和更多的 I/O 候选。可能是磁盘速度慢,需要一些固件升级
您正在恢复的数据库有许多虚拟日志文件,或者在进行备份时某些进程正在回滚。所以现在当数据库恢复时,它会确保进程完全回滚,然后只有它才能使数据库在线。备份包括数据和一定数量的事务日志,以使数据库处于事务一致状态。包含的事务日志量取决于备份发生时正在运行的事务。要了解备份,请阅读本文
您必须阅读在 SQL Server 中优化备份和还原
为什么复制操作需要 30 分钟完全取决于网络负载和正在传输的备份文件的大小
我通过添加几个参数来恢复命令解决了这个问题。
从 ... MAXTRANSFERSIZE=4194304,BUFFERCOUNT=2048恢复数据库 [测试]
我很惊讶,这是我实践中的第一个案例,附加参数如此影响恢复速度。