SQL Server 日志备份“停滞”

SQL Server 日志备份“停滞”

我曾安装过一台运行 SQL Server 2008 和 Windows 2003 的机器,在安装 SQL 2008 SP1 之前和之后,都发生过几次大型 (35GB) 日志备份“停滞”的情况。服务器日志会发送到备用服务器,因此每隔 15 分钟就会进行一次常规日志备份。

但是,索引重组导致日志增长到大约 35GB(在大约 17GB 数据的数据库上)后,下一个日志备份运行到完成度约 95%,然后似乎停止了。该过程显示为已暂停,等待状态为 BACKUPIO。SPID 上的 CPU、读取和写入活动也没有变化,并且该过程保持此状态数小时,而通常这种大小的备份应该在大约 20 分钟内完成。

该服务器具有单个 RAID-1 卷,因此源数据库文件和目标备份文件位于同一卷上。但是,我无法确定是否有其他进程阻止备份。无法终止备份 SPID,终止日志备份并清除备份文件上的锁定的唯一方法是循环 SQL Server 服务。

曾经发生过备份完全终止的事件,错误提示另一个进程锁定了备份文件,但没有关于该进程的详细信息。

有人能提出这种情况的原因或诊断过程吗?

答案1

一旦发生失速,请使用以下工具进程探索器确定其他进程是否影响对文件的访问,即锁定文件。

答案2

发送生成的日志需要那么长时间吗?BackupIO 还包括与 IO 相关的网络操作期间的网络延迟。

答案3

这很可能是瞎猜的 - 但我见过这种情况,当服务器上的防病毒软件在备份期间开始扫描备份文件时。服务器上是否运行了防病毒软件,或者如果运行了,是否将其设置为排除备份文件扩展名或包含备份的卷?

相关内容