Sysprocesses表 - 它会帮助我调试连接池问题吗?

时间:2011-09-12 12:39:28

标签: .net sql-server connection-pooling

我有一个常规(每10秒)执行大量数据库活动的Windows服务。我已经验证我的所有连接都已关闭(使用)。经过一段时间(几天或几小时)后,我收到此错误:

  

超时已过期。在获得a之前经过了超时时间   从游泳池连接。这可能已经发生,因为所有汇集   正在使用连接并达到最大池大小。

我发现我应该检查sysprocesses表,发现它在我的代码运行时创建了很多新条目(而且我确定我正在关闭连接)

问题是:在我的情况下,同一个用户在同一个地方进行相同的查询,是否应该为服务中的几乎每个蜱都有一个新条目?其他服务没有这种行为。

或者可能正在查看sysprocesses表中没有给我任何有用的信息?

Larsi

1 个答案:

答案 0 :(得分:1)

不推荐使用sysprocesses,所以如果你在2005年以上,请使用sys.dm_exec_requests,sys.dm_exec_connections和sys.dm_exec_session。

这将为您提供有关您的关系的更好信息。