我们在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错误日志中。
您可以使用以下方式监视“注意事件”: