sp_reset_connection
从SQL Server Profiler看,为什么系统存储过程要花几毫秒的时间来执行?
我从使用SQL Server Profiler的生产系统中进行了简单的跟踪,然后使用SqlNexus对其进行了分析。SqlNexus指示sp_reset_connection具有最高的累积持续时间-占总跟踪的33%。观察到的持续时间为0-7秒(12到6,833,270微秒),但平均为0.956s。
我了解到池连接被重用时会调用sp_reset_connection。我已经看到有人暗示这可能是由于无关的痕迹而发生的,但事实并非如此。
我读过了 了调用sproc时服务器在做什么,但是我不认为在这种情况下任何问题都会出现-代码不会留下未清除的开放式事务或庞大的临时表。
我也看着 /server/199974/sp-reset-connection-taking-a-long-time-to-run,但这没有帮助。
编辑(2013-12-23): 在所有情况下,读和写均为0,CPU几乎始终为0(仅两个实例,两个非零CPU都在16ms处)。
RPC:Starting
,RPC:Completed
并等待一小段时间,然后浏览数据以查看spid在这段时间内遇到的等待类型。