September 17, 2009
willeam
在天空部落發表於11:40:33 |
SQL Server
通常我們在寫.net程式時,習慣會將try..catch所攔截到的錯誤寫入到系統的event log,讓我們可以有統一介面去查看各種不同的錯誤訊息.
這種輸出錯誤訊息到event log的手法,其實在Store procedure也可以做到,只要透過此語法就可以.
master..xp_logevent 50001, '錯誤訊息內容', 'ERROR'
輸出後,在event log可以看到此畫面.

裡面則是我們輸出的錯誤訊息.

store procedure最麻煩的就是進行debug,雖然我們可以在SQL Studio裡面debug,但是有時候手動run與透過background job run還是有一點差異,然後又無法像.NET 元件一樣從Visual Studio去attach process的方式monitor元件執行狀況,所以若可以在store procedure執行時,將一些訊息丟出來event log,多多少少可以了解運作的狀況.
這種輸出錯誤訊息到event log的手法,其實在Store procedure也可以做到,只要透過此語法就可以.
master..xp_logevent 50001, '錯誤訊息內容', 'ERROR'
輸出後,在event log可以看到此畫面.

裡面則是我們輸出的錯誤訊息.

store procedure最麻煩的就是進行debug,雖然我們可以在SQL Studio裡面debug,但是有時候手動run與透過background job run還是有一點差異,然後又無法像.NET 元件一樣從Visual Studio去attach process的方式monitor元件執行狀況,所以若可以在store procedure執行時,將一些訊息丟出來event log,多多少少可以了解運作的狀況.




