zoukankan      html  css  js  c++  java
  • PAIP.SQL的跟踪与调试

    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来得到程序的流程..

  • 相关阅读:
    奇偶数排序
    买房子
    首字母大写
    学分绩点
    加减乘除
    最简真分数
    Hdu 1058 Humble Numbers
    Hdu 1032 The 3n + 1 problem
    Hdu 1040 As Easy As A+B
    Hdu 1025 Constructing Roads In JGShining's Kingdom
  • 原文地址:https://www.cnblogs.com/attilax/p/15199918.html
Copyright © 2011-2022 走看看