我正在使用 SQL Server 2012,我想掌握执行时间较长的查询以及导致服务器阻塞的查询。当我查看服务器以查找正在运行的查询以识别任何阻塞时,我没有找到任何查询。
我已经设置了扩展事件并从中仅获取高级信息。正在超时的表,但我需要更多有关导致超时的查询的信息。
有什么建议么???
我正在使用 SQL Server 2012,我想掌握执行时间较长的查询以及导致服务器阻塞的查询。当我查看服务器以查找正在运行的查询以识别任何阻塞时,我没有找到任何查询。
我已经设置了扩展事件并从中仅获取高级信息。正在超时的表,但我需要更多有关导致超时的查询的信息。
有什么建议么???
您可以使用 dmv 的sys.dm_exec_query_stats和sys.dm_exec_requests来分析资源消耗查询及其持续时间:
使用下面的查询来捕获相同的内容:
此外,如果您使用扩展事件,建议您可以捕获相同的事件。有关如何设置和使用它的更多信息,请阅读来自 Jonathan Using SQL Server 2008 Extended Events的这份白皮书,它应该让您继续阅读这里
此外,当查询运行时,所有进程在后台运行并检查阻塞是否真的存在以及任何特定的等待,建议您使用如何使用 sp_WhoIsActive 中的 SP_WHOISACTIVE 来查找慢速 SQL Server 查询
此外,如果您更喜欢使用 Profiler,您可以按照如何使用 SQL Profiler 识别运行缓慢的查询中的说明进行跟踪和故障排除