SQL Server 超时(特别是 SELECT 查询)是否记录在 ERRORLOG 文件中?
背景是一位客户,其网站偶尔会出现“请求超时”消息,假设超时是由数据库超时引起的。有问题的 ERRORLOG 中没有超时错误。
SQL Server 超时(特别是 SELECT 查询)是否记录在 ERRORLOG 文件中?
背景是一位客户,其网站偶尔会出现“请求超时”消息,假设超时是由数据库超时引起的。有问题的 ERRORLOG 中没有超时错误。
不可以。您需要使用 SQL Profiler。带有Lock Timeout事件和Deadlock Graph事件的标准跟踪应该可以做到这一点。
除了硬件(例如足够的 RAM 和快速驱动器,以及在适当的 RAID 配置上适当放置数据和日志文件)之外,大多数超时都是由于您的工作负载没有足够“好”的索引集引起的。
您是否有定期安排的索引维护计划?
SQL Server 超时作为注意事件从客户端启动,并且不会记录在 SQL Server 错误日志中。
您可以使用以下方法监控注意事件:
您还可以使用在超时和死锁事件时引发的事件通知。触发后,您可以将其写入表格或给自己发送电子邮件。
我在这里展示了一般技术:
在不更改现有代码的情况下立即通知死锁
2008 年 7 月 18 日
这样您就不必运行 Profiler;这会影响性能。