sql server怎样用sql profiler捕获带变量值的慢sql

一 新建跟踪

点击工具-SQL Server Profiler:

点击文件-新建跟踪的按钮:

在'事件选择'选项卡只选择如下两项内容(RPC:Completed,SQL:BatchCompleted),把多余的取消勾选:

然后勾选上面截图中右下方的'显示所有列',会出现很多列,勾选重要的列(库名,表名等),示例:

点击上面截图里右下方的'组织列',可以调整这些列的顺序。

点击上面截图里右下方的'列筛选器',可以指定条件:

#这里筛选查询时长大于1秒的慢sql:

也可以点击'TextData'只跟踪某类sql(模糊匹配),示例:

跟踪文本内容包含aa的sql,注意,需要加上%,否则不显示结果:

也可以只跟踪某个数据库的:

也可以只跟踪某个对象的:

都配置好后,点击'运行'按钮。

二 模拟执行大于1秒的慢sql

select * from test2 where id>15000000

三 查看跟踪结果

示例:

带变量值的示例:

四 总结

profiler跟踪某个库,某个表,或者某个sql文本,比较方便,但是较耗性能,平时不建议开启。

在临时审计一个不明操作的时候可以使用(比如,发现一个表被定期truncate,则可以用)。

如果要跟踪慢sql,建议用扩展事件跟踪,方便定位较耗性能的某类慢sql(按总体cpu消耗时长降序排序),详细可参考sql server怎样用扩展事件捕获带变量值的慢sql-CSDN博客

相关推荐
麦壳饼11 分钟前
SonnetDB SQL Cookbook:常用查询模式速查
数据库·sonnetdb
for_ever_love__1 小时前
LangChain Text-to-SQL:让不会写 SQL 的人查数据库
数据库·sql·langchain·大模型·agent·rag·问答
梦想不只是梦与想1 小时前
SQLAlchemy:查询与操作 (三)
数据库·python·sqlalchemy
Aric_Jones1 小时前
WAL / CDC / 复制槽 /位点
数据库·oracle
草莓熊Lotso1 小时前
【C++ 基于微服务的即时通讯系统】基建三件套:gflags + gtest + spdlog 源码编译安装与实战入门
linux·网络·数据库·c++·微服务·log4j
bksczm1 小时前
Redis基础篇之初识分布式
数据库·redis·分布式
for_ever_love__2 小时前
MySQL 索引类型全解:B+Tree / Hash / R-Tree / 全文 的底层差异,以及一次性建对的选型表
数据库·mysql·b+树·唯一索引·全文索引·索引类型·索引分类
仍然.10 小时前
Redis---缓存
数据库·redis·缓存
Aloudata10 小时前
LookML 语义模型 vs 企业级独立语义层:BI 建模语言能否承担企业语义底座?
数据库·人工智能·数据分析·数据资产·dataagent
细嗅蔷薇@10 小时前
排序和分⻚(order by 、limit)
数据库·oracle