2014-08-29 36 views
1

我们的产品有一些复杂的存储过程,它们利用(MSSQL2008r2/2012)CTE和/或临时表/表变量来计算菜单或级联权限结构以供系统使用。诊断存储的Proc争用

我们已经注意到,通过SQL事件探查器,某些时候程序可能会比正常情况下要大几个数量级。我们想知道采取行动的最佳原因,以收集信息以确定阻碍/争夺的内容。一个很好的例子是一个存储过程,如果我在查询分析器中手动运行它,则需要222ms的时间来运行实时数据库,但我们已经看到了9000ms和5000ms的时间。

没有深入讨论有关实际sp的具体情况,您如何开始识别哪些资源在您在profiler中查询时间较长时被阻止?

我已经看到了哪些查询可以运行以诊断当前问题的建议,但在这种情况下,争用可能正在发生,而我们并未发现它。那么理想情况下,SQL Profiler跟踪看起来是理想的起点?我是否需要两个单独的探查器跟踪,并在持续时间跟踪中看到持续时间较长时比较两者?

+0

我以前发现[点燃SQL服务器 - CONFIO]良好的成功(http://www.confio.com/performance/sql -server /点燃) – Aron 2014-08-29 06:39:58

回答