我执行了dbcc sqlperf(logspace),看到某些数据库的日志空间使用率超过90%。
如果达到100%会发生什么? 我该怎么做才能减少数据库的日志空间使用?
答案 0 :(得分:-1)
如果达到100%会发生什么?
如果设置了FILEGROWTH
选项,那么它将以该设置速率增长。此外,recovery model
确定检查点之前的事务日志条目会发生什么。
在simple Mode
中,当检查点发生但是所有交易数据都丢失且无法回复时,它们将被删除。在其他恢复模型中,在完全备份之前不会删除事务日志条目。
您也可以使用DBCC SHRINKFILE
缩小日志大小。要减小物理日志文件的物理大小,必须缩小日志文件。如果您知道事务日志文件包含您不需要的未使用空间,这将非常有用。
DBCC SHRINKFILE('dbname_log', 1);
要减小文件的物理大小,您可能需要压缩文件。有关相同内容的更多信息,请参阅MSDN Documentation。
您还希望在此帖Aaron Bertrand answer
上看到How do you clear the SQL Server transaction log?