在备份LDF文件期间执行事务时会发生什么?

时间:2015-02-20 07:05:02

标签: sql sql-server sql-server-2008 backup

我的数据库管理员建议我应该定期备份.ldf个文件。好的,这篇SQL帖子here解释得很漂亮。

考虑在SQL Server中进行事务。同时,计划进程尝试访问。ldf文件以进行备份。

会发生什么?这是如何工作的?

1 个答案:

答案 0 :(得分:3)

您必须阅读Paul Randal撰写的文章Understanding SQL Server backup。这是我能看到的最好的,可以在各方面详细解释。

回到您的问题,事务日志备份包括先前事务日志记录中的所有信息或启动日志链的完整备份。备份只是意味着从文件(数据或日志)读取信息并将其写入目标磁盘。任何事务都可以独立于日志备份运行。事务遵循WAL(预写日志记录)协议,出于实际目的,所有事务信息首先写入日志文件,然后稍后更改为数据文件。因此,当事务正在运行时,它不会受到正在运行的事务日志备份作业的影响,这两个任务正在执行不同的任务并且是不可分割的独占事件。当前备份将尝试备份标记为已提交的所有日志,并在没有事务需要时截断日志。如果在日志备份读取该部分之后提交了任何日志部分,则它将不会出现在当前日志备份中,但会进一步进行日志备份。

Transacion日志备份在崩溃恢复中起着重要作用,它有助于确定所有操作必须进行转换以及必须回滚的内容。没有事务日志备份或事务日志崩溃恢复是不可能的

您还必须阅读Logging and recovery in SQL Server以了解交易的生命周期。

关于内部发生的实际步骤的激动人心的答案超出了讨论的范围,因为没有人可以exactly tell you会发生什么,但阅读文章会给你一个好主意。

如果您有任何其他问题,请与我们联系。