如何使用SQL Profiler 找到語法錯誤
SQL Profiler 我們在執行SQL 語法時, 常發生SQL Server 端的錯誤, 但無法直接由Client 端的訊息看出來,此時我們可透過SQL Profiler 來找到Server 執行的錯誤, 只是Server 端的事件那麼多該如何找到錯誤呢? 一個很重要的觀念, SQL Server 不論執行的結果如何, 正確或錯誤都會產生Complete的事件, 如 StoreProcedure 的 SP:Completed/StmtCompleted 一般SQL 的SQL:StmtCompleted / BatchCompleted. 奇怪了, 都錯了怎麼還有BatchCompleted 呢? 別緊張在Error 欄也有寫執行結果(1-Error) ,因此我們可以針對執行結果為1-Error 的部份, 來看它的錯誤原因,只要設定Exception 及User Error Message , 並針對所需的指令類別(StoreProcedure或一般SQL)所需的Completed 事件, 就可以找到錯誤的指令. 實際應用的案例 以下是一個我們在Client 端程式所發生的錯誤, 可是單由Client端的訊息看不出來錯在那裡, 執行資料庫Schema 更新失敗(Schema Ver.18 update failed) 接下來要找到失敗的原因. 1. 開啟 SQL Profiler. 開始-->程式集—>Mircosoft SQL Server 2005->效能工具->SQL Server Profiler. 2.新增追蹤 3.連結資料庫 4.設定所需的事件 預設項目除了 RPC:Completed , SP:StmtCompleted, SQL BatchCompleted 其餘均可取消. 5.勾選 顯示所有事件及顯示所有資料行. 6.選擇必要的事件 對於找出一般SQL 指令的錯誤而言, 只需要設定三個值, 其餘可取消. 設定Errors and Warnings 之 Exception 與User Error M...
留言
張貼留言