16

SQL Server 超时(特别是 SELECT 查询)是否记录在 ERRORLOG 文件中?

背景是一位客户,其网站偶尔会出现“请求超时”消息,假设超时是由数据库超时引起的。有问题的 ERRORLOG 中没有超时错误。

4

3 回答 3

13

不可以。您需要使用 SQL Profiler。带有Lock Timeout事件和Deadlock Graph事件的标准跟踪应该可以做到这一点。

除了硬件(例如足够的 RAM 和快速驱动器,以及在适当的 RAID 配置上适当放置数据和日志文件)之外,大多数超时都是由于您的工作负载没有足够“好”的索引集引起的。

您是否有定期安排的索引维护计划?

于 2008-11-17T10:50:15.203 回答
6

SQL Server 超时作为注意事件从客户端启动,并且不会记录在 SQL Server 错误日志中。

您可以使用以下方法监控注意事件:

于 2014-05-28T09:16:34.220 回答
3

您还可以使用在超时和死锁事件时引发的事件通知。触发后,您可以将其写入表格或给自己发送电子邮件。

我在这里展示了一般技术:

在不更改现有代码的情况下立即通知死锁

2008 年 7 月 18 日

这样您就不必运行 Profiler;这会影响性能。

于 2008-11-17T11:00:26.883 回答