如何解决SQL Server警报的疑难问题
具体的解决方法请参考下文 :
◆检查你是否使用了最新的Sql Server service pack。因为在最新的Sql Server service pack中已经修补了很多Sql Server使用警告(Alerts)的漏洞。应该确保在你的系统中已经安装了最新的Sql Server service pack补丁包。
◆检查SqlServerAgent服务的帐户是否作为成员运行在域用户群组(Domain User Group)下。LocalSystem帐户没有访问网络的权限,所以,如果你需要将事件记录在其他运行有Windows NT或Windows 2000机器上的应用程序日志上,或者你的作业(jobs)需要跨网络的资源,或者你需要通过e-mail或者pagers通知操作者,这时候,你就需要将SalServerAgent服务的帐户设置在域用户群组(Domain User Group)下作为它的成员。
◆如果所定义的警报都没有触发,检查SqlServerAgent和EventLog服务是否都在运行。如果你需要让你定义的警报被触发,这些服务必须被开启。所以,如果这些服务没有被运行的话,请运行它们。
◆如果有某个警报没有被触发,请确保它们是否被启用。警报可以被启用或禁用,为了检查一个警报是否被启用,你应该做以下这些步骤:
1.运行Sql Server Enterprise Manager
2.请打开服务器群组,然后打开某个服务器
3.请打开管理(Management),然后再打开Sql Server Agent
4.双击合适的警报以查看这个警报是否被启用了
5.检查警报的历史值以确定警报最后工作的日期和时间
为了检查一个警报的历史值,你应该做以下这些事情:
1.运行Sql Server Enterprise Manager
2. 请打开服务器群组,然后打开某个服务器
3. 请打开管理(Management),然后再打开Sql Server Agent
4. 双击合适的警报以查看警报的历史值
5. 核对每20秒维护的计数器值
因为Sql Server Agent每20秒间隔维护一个性能计数器,如果发现这个性能计数器只有几秒钟(少于20秒)才维护一次,那么极有可能你的这个警报将不会被触发。
6. 检查Sql Server错误日志、Sql Server Agent错误日志以及Windows NT和Windows 2000的应用程序日志,以获得有关错误描述的更多详细信息。仔细检查核对当产生警报失败事件时,被记录在Sql Server错误日志、Sql Server Agent错误日志以及Windows NT和Windows 2000的应用程序日志中的日期和时间以及对错误的描述能帮助你分析产生警报失败事件的原因。
7. 假如警报被触发了,但是这时候操作员却没有收到任何通知,请尝试手动使用“e-mail”,“pager”或者用“net send”将信息发送给操作员。在很多情况下,可能你输入了一个错%C。