SQL SERVER TRANSACTION LOG

时间:2015-02-10 16:35:37

标签: sql sql-server

如果SQL SERVER中的事务日志增长受限且已满,会产生什么后果

3 个答案:

答案 0 :(得分:2)

它会爆炸并烧毁你的房子..

严重的是,它会产生诸如无法执行交易等问题。

答案 1 :(得分:1)

当事务日志已满时,SQL Server 数据库引擎会发出9002 错误。

如果在数据库联机时日志填满,则数据库仍然在线,但只能读取,不能更新

如果日志在恢复期间填充,则数据库引擎会将数据库标记为 RESOURCE PENDING

在任何一种情况下,都需要用户操作才能使日志空间可用。

您可以在日志文件已满时执行以下操作:

  1. 备份日志。
  2. 释放磁盘空间,以便日志可以自动增长。
  3. 将日志文件移动到具有足够空间的磁盘驱动器。
  4. 增加日志文件的大小。
  5. 在另一个磁盘上添加日志文件。
  6. 完成或终止长期交易。
  7. 欲了解更多信息,请参阅以下链接:

    https://msdn.microsoft.com/en-us/library/ms175495.aspx

答案 2 :(得分:1)

我非常同意Kundan。 但是想在此补充一点:

  

此外,其中一个可能会发生事务日志扩展   以下原因或下列情况之一:

  1. 一个非常大的事务日志文件。
  2. 交易可能会失败并可能开始回滚。
  3. 交易可能需要很长时间才能完成。
  4. 可能会出现性能问题。
  5. 可能会发生阻塞。
  6. 数据库正在参与AlwaysOn可用性组。
  7.   

    您可以在日志文件已满的情况下执行以下操作:

    1. 备份日志。
    2. 释放磁盘空间,以便日志可以自动增长。
    3. 将日志文件移动到具有足够空间的磁盘驱动器。
    4. 增加日志文件的大小。
    5. 在另一个磁盘上添加日志文件。
    6. 完成或终止长期交易。
    7. 欲了解更多信息,请参阅以下链接:

      https://support.microsoft.com/en-in/help/317375/a-transaction-log-grows-unexpectedly-or-becomes-full-in-sql-server

      https://msdn.microsoft.com/en-us/library/ms175495.aspx