我们有一个包含数 TB 数据的数据库。我们每周进行一次完整备份,每天进行差异备份,每小时进行一次事务日志备份。有时,此事务日志备份需要一些时间才能完成(大约 10-15 分钟)。在此期间,我们发现应用程序性能对使用相同数据库的影响很大(通常非常慢)。
事务日志备份会影响应用程序的性能吗?如果是,那么如何加快进行事务日志备份的过程?
我们有一个包含数 TB 数据的数据库。我们每周进行一次完整备份,每天进行差异备份,每小时进行一次事务日志备份。有时,此事务日志备份需要一些时间才能完成(大约 10-15 分钟)。在此期间,我们发现应用程序性能对使用相同数据库的影响很大(通常非常慢)。
事务日志备份会影响应用程序的性能吗?如果是,那么如何加快进行事务日志备份的过程?
事务日志备份从事务日志文件中读取并写入备份位置。应用程序在更改数据库时写入事务日志文件。如果日志文件或日志备份位置和数据库文件或 tempdb 文件在同一个磁盘上(甚至可能在同一个 SAN 控制器上),那么日志备份也会影响对这些文件的访问。
在应用程序缓慢期间捕获等待统计信息的快照应提供有关备份所产生影响的更多详细信息。
更频繁地进行备份将分散影响。但是您可能还需要更多存储资源(更多或更快的磁盘)来存储该数据库。对于大型数据库,您需要为操作和维护数据库提供足够的资源,而维护任务(如日志备份、索引维护、模式修改)可能需要大量的额外资源。
一个很大的数据库很可能会进行很多活动,并且您的事务日志备份将非常大。10-15 这个运行时间真的很长,我很惊讶你在备份之前没有把它填满。
尝试每 10 分钟运行一次,将花费更少的时间并且影响会更小