我刚刚开始尝试使用 SQL Server 警报。我设置了一个阈值为零的错误/秒警报,认为只要有错误写入日志,我就会收到一封电子邮件。我收到了很多邮件!我提高了阈值以在每秒超过一封时通知我,但我仍然不时收到不少电子邮件。
例如,我收到的电子邮件包含以下内容:
DESCRIPTION: The SQL Server performance counter 'Errors/sec' (instance '_Total') of object 'MyServerName:SQL Errors' is now above the threshold of 1.00 (the current value is 4.45).
这是我正在使用的警报命令:
EXEC msdb.dbo.sp_add_alert @name=N'SQL Errors',
@message_id=0,
@severity=0,
@enabled=1,
@delay_between_responses=0,
@include_event_description_in=1,
@notification_message=N'Check the ERRORLOG for details.',
@category_name=N'[Uncategorized]',
@performance_condition=N'MyServerName:SQL Errors|Errors/sec|_Total|>|0',
@job_id=N'00000000-0000-0000-0000-000000000000'
当我查看日志时,我没有发现任何错误。不过,我确实找到了信息性消息(备份完成等)。这个警报真的是“Entries/sec”而不是真正的“Errors/sec”,还是我在错误的地方(SSMS | Server | Management | SQL Server Logs | Current)寻找实际错误?