日志传送主数据库日志备份作业失败/卡住

Beg*_*DBA 2 sql-server sql-server-2012 log-shipping

我们已经设置了 LS 来从独立的 SQL Server 2012 切换到集群的 2012 服务器。

我们设置 LS 的主数据库也参与了数据库镜像,大小约为 1.8 TB。这是 PERF env,用于测试实际切换,并且在设置 LS 的数据库上事务不频繁。

问题:我看到主服务器上的 LS 备份作业运行时间比计划时间长 [每 15 分钟] 或失败并出现以下错误:

未处理的异常:System.IO.FileLoadException:进程无法访问该文件,因为它正被另一个进程使用。(来自 HRESULT 的异常:0x80070020)在


失败时没有固定的模式。通常它会在 18-20 秒内完成,但在某些运行中它会在运行超过 50 分钟左右时失败。

我怎样才能进一步解决这个问题?

编辑:@ 日志备份通常每 15 分钟从 100-200 MB

Sea*_*ser 5

我怎样才能进一步解决这个问题?

由于您无法在每次备份时实现它,因此我会运行procmon并针对您发送日志备份的文件夹进行过滤。当它发生时,停止 procmon 并调查哪些应用程序正在锁定文件。不过,我的猜测是防病毒软件或其他一些过滤器驱动程序文件系统观察程序。它在较大的文件上更频繁地发生的事实是一个赠品。

如果你知道它会失败,或者当前有问题,你可以使用进程资源管理器并在句柄中搜索文件,看看有哪些进程正在接触它。

这发生在 Windows/驱动程序级别,而不是 SQL Server 应用程序级别。