5 sql-server sql-server-2008-r2 transaction-log
可能的重复:
为什么事务日志不断增长或空间不足?
大约一个月前,我将我的 SQL Server 2008 R2 数据库迁移到了一个新架构。我运行脚本将现有数据库中的数据迁移到新数据库。当我完成时,新数据库大约为 15 GB。一个月过去了,我的事务日志是 130 GB。为什么会发生这种情况,我该怎么办?
听起来您的数据库处于完全恢复模式。在此恢复模型下,您的事务日志将继续增长,直到被备份。由于您没有备份事务日志,因此您无法重用其中的任何部分。这都是为了时间点恢复。备份事务日志后,t-log 文件的保留文件空间不会缩小。您需要使用 DBCC SHRINKFIKE 显式收缩该文件。注意:文件收缩不应成为常规操作,而应仅在知道不需要文件空间时按需进行一次性收缩。
这引出了我的下一点。如果您需要这种时间点恢复,那么您需要定期安排事务日志备份,以防止 t-log 增长(正如您当前所看到的那样)。如果有机会您只需要完整备份和差异备份可以提供的恢复点目标,那么您应该考虑简单恢复模型。考虑转向该恢复模型需要是一个合理的模型,因为您正在失去大多数企业生产数据库所需的灾难恢复的某个重要方面。
请参阅有关事务日志及其截断的 BOL 参考:http://msdn.microsoft.com/en-us/library/ms190925.aspx#Truncation