PAIP.SQL的跟蹤與調試

來源:互聯網
上載者:User

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來得到程式的流程..

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.