当事务日志已满时,SQL Server 数据库引擎会发出9002 错误。
如果在数据库联机时日志填满,则数据库仍然在线,但只能读取,不能更新。
如果日志在恢复期间填充,则数据库引擎会将数据库标记为 RESOURCE PENDING 。
在任何一种情况下,都需要用户操作才能使日志空间可用。
您可以在日志文件已满时执行以下操作:
- 备份日志。
- 释放磁盘空间,以便日志可以自动增长。
- 将日志文件移动到具有足够空间的磁盘驱动器。
- 增加日志文件的大小。
- 在另一个磁盘上添加日志文件。
- 完成或终止长期交易。
醇>
欲了解更多信息,请参阅以下链接:
https://msdn.microsoft.com/en-us/library/ms175495.aspx
我非常同意Kundan。
但是想在此补充一点:
此外,其中一个可能会发生事务日志扩展
以下原因或下列情况之一:
- 一个非常大的事务日志文件。
- 交易可能会失败并可能开始回滚。
- 交易可能需要很长时间才能完成。
- 可能会出现性能问题。
- 可能会发生阻塞。
- 数据库正在参与AlwaysOn可用性组。
醇>
您可以在日志文件已满的情况下执行以下操作:
- 备份日志。
- 释放磁盘空间,以便日志可以自动增长。
- 将日志文件移动到具有足够空间的磁盘驱动器。
- 增加日志文件的大小。
- 在另一个磁盘上添加日志文件。
- 完成或终止长期交易。
醇>
欲了解更多信息,请参阅以下链接:
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