PAIP.SQL的跟踪与调试

本文介绍了一种使用SqlExpressProfile工具进行.NET项目中SqlParameter参数化查询的跟踪与调试方法。通过设定跟踪SQL和监听字段,可以查看实际执行的SQL语句及开始与结束时间,有助于定位SQL性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PAIP.SQL的跟踪与调试

当我们参数化查询的时候,有时候SQL出错,需要跟踪调试。。

JAVA参数查询的时候,是调用驱动转义,然后拼装成SQL,发往服务器,有API可以输出实际发出的SQL。。

最近的一个。NET项目SqlParameter参数查询时,一个参数化查询出错,需要跟踪实际执行的SQL。。
我用的是MSSQL EXPRESS 2008 。。

找了半天,终于找到个好工具.  SqlExpressProfile.1.2.18 ,如果是企业版,会有个事件探查器,就是它了。。

安装好后,"C:\Program Files\DataWizard\SqlProfiler\Sql Profiler.exe",打开.设定DB连接。。

然后设定跟踪SQL,FILE》NEW SQL TRACE 》TAB“ EVENT”,设定事件为SqlStmtStaring,SqlStmtcompleted,RPCstarting,RPCcompleted,
监听的字段全部设ALL。

然后RUN就好了。。

然后启动你的程序,连接数据库,就可以看到发出的SQL语句了。。
如果是普通的SQL,事件是SqlStmtStaring类的。
如果是参数化的SQL,事件是RPCstarting..

结果如下:
exec sp_executesql N'select * from [rwkuSubitem]  where id=@id  ',N'@id nvarchar(2)',@id=N'16',@h=N'127'


可以看出,参数化的SQL实际是调用了服务器的sp_executesql 这个存储过程。。


上面还有执行开始时间与结束时间,可以用来跟踪SQL性能不佳的语句。。
如果一个程序没有源码,还可以用来跟踪其SQL来得到程序的流程..

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值