![跟踪 SQL Server 2008 超时错误](https://linux22.com/image/518967/%E8%B7%9F%E8%B8%AA%20SQL%20Server%202008%20%E8%B6%85%E6%97%B6%E9%94%99%E8%AF%AF.png)
在 SQL Server 2008 实例中运行存储过程时,我们遇到了一些连接超时。过了一会儿,数据库开始正常工作,并且没有出现任何其他超时错误。
因此我尝试获取有关该错误的更多信息。
SQL Server 2008 是否有任何我可以查看的错误日志?
是否存在我可以激活以追踪错误的审计/日志记录功能(如果再次发生)?
答案1
要查看 SQL 日志:通过 Management Studio 连接到您的 SQL 实例,展开对象浏览器中的管理文件夹,展开 SQL Server 日志文件夹,然后您就可以检查您的日志。
默认行为是保留六个日志,每次重新启动数据库引擎服务器时都会创建一个新的日志。
总是可以使用 Profiler 来查看幕后发生的事情。
您可以发布与超时相关的消息......
答案2
SQL Server 日志不会捕获应用程序超时,因为它们是由客户端代码而不是 SQL Server 生成的。
要捕获长时间运行的查询,您需要使用 SQL Profiler。设置一个跟踪,捕获所有耗时超过 30 秒(默认 .NET 超时)的命令,然后查看会出现什么。
或者将代码放入应用程序中,以便当它超时时,它会记录有关正在运行的查询的一些数据以及失败原因。
答案3
当前选择的答案有点误导,因为它讨论引用 SQL Server 错误日志,这对于给定的情况没有帮助。
正如 mrdenny 正确指出的那样......
SQL Server 的应用程序超时是发起从客户端关注事件并且不会记录在 SQL Server 错误日志中。
您可以使用以下方式监视关注事件: