tus*_*eau 14 sql-server error-log
我知道我可以通过运行 sp_cycle_errorlog 轻松循环当前错误日志,但我想知道 SQL Server 是否会删除旧的/存档的错误日志文件。似乎无法在任何地方找到答案...
Ken*_*her 21
在SQL Server Management Studio
,在Object Explorer
> 中Management
,如果您右键单击SQL Server Logs
并选择,则有一个设置Configure
。您可以指定要保留的日志文件数量。一旦达到该数字,它将开始删除旧的。
重新启动 SQL Server 7 次。您将看到您仍然只有 7 个ERRORLOG*
文件(取决于版本)。这是当前日志文件和 6 个最近的日志文件。
注意:如果您更改了 SQL Server 保留的错误日志数,您可能需要将 7 更改为其他内容。我相信最大值是 99。但是无论您当前的设置是什么,它最终都会回收并清除旧文件。
我对此进行了测试,如果您取消选中显示以下内容的框:
? 在回收之前限制错误日志文件的数量
...这意味着(至少对我而言)保留所有日志文件,它仍然只会保留当前错误日志文件加上 6 个备份。如果您更改了@RLF 指出的注册表项,则注册表项设置将覆盖(就好像您没有取消选中该框一样),但您仍将被限制在 6 个之间的一定数量的备份错误日志文件和 99。
所以简短的回答是:是的,在所有情况下,SQL Server 最终都会删除旧的错误日志文件。
只要配置正确,SQL Server 就会自动回收错误日志。
请参阅http://msdn.microsoft.com/en-us/library/ms177285.aspx。我复制了以下要点:
在对象资源管理器中,展开 SQL Server 的实例,展开管理,右键单击 SQL Server 日志,然后单击配置。
在“配置 SQL Server 错误日志”对话框中,从以下选项中进行选择。
在回收之前限制错误日志文件的数量
错误日志文件的最大数量