SQL Server错误日志大小太大而无法处理

时间:2014-12-19 06:49:08

标签: sql-server sql-server-2008 sql-server-2008-r2

我正在使用 windows sql server 2008 R2 上的大型数据库,因此必须24x7连续运行,因为无法不时地重新启动服务器。它是一种大型机器的监控系统。由于这个SQL服务器错误日志在有限大小的硬盘驱动器上变得太大甚至有时甚至高达60-70 GB。我无法手动删除它们。有人可以建议一种方法,我可以停止创建这样的错误日志或在一段时间后回收它们。 大多数错误都是这种 -

  

将数据库选项RECOVERY设置为数据库db_name的简单

P.S。 - 我已经将错误日志限制为6等等。但这并没有帮助。

1 个答案:

答案 0 :(得分:0)

现有注释和答案与SQL错误日志完全无关。希望它们会很快被清除(并且此句子可以删除)

对于SQL实例在SQL 2012之前

使用EXEC sp_cycle_errorlog循环错误日志,如果定期循环错误日志,您可能要考虑增加保留的日志数量。

  

您可以使用T-SQL步骤设置SQL Agent作业。它所要做的就是EXEC sp_cycle_errorlog。安排SQL Agent作业按照您希望的频率运行,并且一切顺利。这种方法的好处是它是自动的,并且SQL Server错误日志将更加细化,从而使查找所需的错误消息更加容易。 Source, brentozar.com

对于SQL 2012 及更高版本,您可以设置最大日志文件大小。再次,如果限制错误日志大小,您可能要考虑增加保留的日志数量。

USE [master];
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
N'Software\Microsoft\MSSQLServer\MSSQLServer',
N'ErrorLogSizeInKb', REG_DWORD, 5120;
GO

Source, microsoft.com