我正在使用 SQL Server 2005,我想知道是否有可能监视发送到 SQL Server 的每个查询?
SQL Server Management Studio 有一个名为“活动监视器”的内置工具,它几乎为我提供了在“最近昂贵的查询窗格”中搜索的内容
此窗格显示有关过去 30 秒内在实例上运行的最昂贵查询的信息。
我最近的所有查询都需要这个,而不仅仅是昂贵的查询......
有人可以帮助我吗?
命名一个工具,或者给我提示要搜索什么...
要使用 SQL Profiler 监视发送到 SQL Server 的每个查询,您可以使用 SQL Profiler 预定义模板之一。这是 TSQL_Duration。
它旨在跟踪已完成的存储过程和 TSQL 代码。
跟踪将准确显示执行的批次。
您可以展开跟踪的事件和显示的列。您可以在此处找到更多信息:如何:使用 SQL Profiler
ApexSQL Comply中也提供了相同的功能,这是一种审核工具,它使用 SQL 跟踪来捕获事件,然后将它们存储在中央存储数据库中,并提供内置和自定义报告,您可以在其中轻松过滤事务,并将它们导出为 Excel、Word 或 PDF 文件。
免责声明:我在 ApexSQL 担任支持工程师
您正在寻找 SQL Profiler,它通常与 SSMS 一起安装。
Sql Server Management Studio (SSMS) 中的 SQL Profiler 非常好,下面介绍如何执行此操作:
工具 >> SQL Server Profiler
您连接到服务器,然后从分析模板开始:空白
然后在事件选择选项卡中选择显示所有事件和显示所有列。
然后向下滚动并展开性能区域,然后选择复选框:
展示计划全部
显示计划XML
然后向下滚动到存储过程并检查:
RPC:开始
SP:Stmt已完成
SP:Stmt已完成
应该可以了。
showplan All 很酷,它的顶行给出了 SQL planner 对这些成本的估计:
EstimateRows EstimateIO EstimateCPU AvgRowSize TotalSubtreeCost 输出列表