根据我的经验,SQL Server 没有ERRORLOG按照建议的方式记录自动增长,而是记录在默认跟踪中,并且可以禁用和启用默认跟踪。
要检查它是否已启用,请参阅:
select name, value_in_use
from sys.configurations
where name='default trace enabled'
如果它被禁用,您可以启用它:
sp_configure 'default trace enabled', 1
go
之后别忘了跑RECONFIGURE。
要检查autogrow事件,您可以使用:
SELECT databaseid, filename, SUM(IntegerData*8) AS Growth, Duration, StartTime
FROM ::fn_trace_gettable('C:\SQL Server\MSSQL10_50.INSTANCENAME\MSSQL\Log\log_4.trc', default)
WHERE EventClass = 92 OR EventClass = 93
GROUP BY databaseid, filename, IntegerData, Duration, StartTime
日志文件自动增长在 SQL 日志或应用程序事件日志中报告。您还可以使用 SQL Trace 或 SQL Profiler 等工具来监控 SQL 事件。这是讨论监视 SQL 事件的 MSDN 文章。
编辑:在应用程序事件日志中,为自动增长取消事件查找事件 ID 5144,为成功/完成的自动增长事件查找 5145。
EDIT2:要在 SQL 日志中查找 db 日志文件 auogrowth 事件,您可以使用以下命令:
增加 0 以使 xp_readerrorlog 使用归档的错误日志文件。0 到 (n-1) 其中 n 是您拥有的错误日志文件的数量。
您还可以为自动增长事件设置事件通知。像这样的东西:
或日志文件:
其中 NotifyAutogrow 是 Service Broker 实例的名称。更多信息在这里。您需要为您的环境设置此服务。
作为进一步的弹药,请查看我所做的这篇博客文章,其中讨论了数据文件自动增长:数据文件大小管理的重要性。
这取决于你在说什么。
根据我的经验,SQL Server 没有
ERRORLOG
按照建议的方式记录自动增长,而是记录在默认跟踪中,并且可以禁用和启用默认跟踪。要检查它是否已启用,请参阅:
如果它被禁用,您可以启用它:
之后别忘了跑
RECONFIGURE
。要检查
autogrow
事件,您可以使用:其中参数 to
fn_trace_gettable
是当前(或存档)跟踪的名称。您可以找到当前跟踪的路径,如下所示:
日志文件自动增长在 SQL 日志或应用程序事件日志中报告。您还可以使用 SQL Trace 或 SQL Profiler 等工具来监控 SQL 事件。