Ech*_*lon 5 sql-server-2008 c#
我每隔几天就会在 IIS7 和 SQL 2008 服务器之间收到超时错误。我得到的错误信息是:
System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Run Code Online (Sandbox Code Playgroud)
有时这会自行解决,有时我需要手动重新启动 SQL Server。有什么办法可以追踪这个错误的原因。我 90% 确定它在没有我们的 ASP.NET webforms 应用程序的某个地方打开而不是关闭连接,但我无法确定原因。
您可以查询sys.dm_exec_sessions该last_request_end_time列以查找打开但“睡眠”的连接。
从中可以查出最后执行的SQL
SELECT session_id, TEXT
FROM sys.dm_exec_connections c
CROSS APPLY sys.dm_exec_sql_text(c.most_recent_sql_handle) AS ST
WHERE c.session_id = <suspicious one from sys.dm_exec_sessions>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3889 次 |
| 最近记录: |