跟踪SQL Server 2008超时错误

我们在SQL Server 2008实例中得到了一些运行存储过程的连接超时。 过了一会儿,数据库开始照常工作,没有任何额外的超时错误。

所以我想获得有关错误的其他信息。

SQL Server 2008有任何一种错误日志,我可以看看?

是否存在任何审计/日志function,我可以激活追踪错误(如果它再次发生)?

要查看SQL日志:通过Management Studio连接到SQL实例,展开对象浏览器中的pipe理文件夹,展开SQL Server日志文件夹,然后可以检查日志。

默认行为是在每次重新启动数据库引擎服务器时保留六个日志,并创build一个新日志。

Profiler总是可以用来查看封面下面发生了什么。

您可能会发布与您的超时相关的消息…

SQL Server日志不会捕获应用程序超时,因为它们是由客户端代码生成的,而不是由SQL Server生成的。

要捕获长时间运行的查询,您需要使用SQL事件探查器。 设置一个捕获超过30秒(默认的.NET超时)的所有命令的跟踪,看看会发生什么。

或者把代码放在应用程序中,以便当它超时时logging一些关于它正在运行的查询的数据以及失败的原因。

当前select的答案稍微有些误导,因为它讨论了引用SQL Server错误日志,这对于给定的场景没有帮助。

正如mrdenny正确地指出…..

到SQL Server的应用程序超时是从客户端作为注意事件 启动的 ,并不logging在SQL Server错误日志中。

您可以使用以下方式监视“注意事件”:

  • SQL Server Profiler
  • DMV sys.dm_os_ring_buffers