簡體   English   中英

T-Sql錯誤處理和記錄

[英]T-Sql Error Handling and Logging

我正在嘗試從經驗中獲得最大收益。

另外,我通常使用企業庫日志記錄塊,將錯誤和部分統計信息記錄到數據庫中,因為它是跟蹤錯誤的集中位置,如果數據庫記錄失敗,通常轉到事件日志。

跟蹤消息應放入文件中:

您認為我們應該選擇哪種選擇

1-如果存在復雜的算法或不穩定的模塊,則某些跟蹤消息可以保留在代碼中。

要么

2-我們不應在代碼中保留任何跟蹤消息,在解決錯誤后立即將其清除。

對於數據庫。

我認為從SP和功能引發的錯誤應記錄到數據庫的另一個表中,而AdventureWorksLT2008數據庫正是這樣做的。

將數據庫事件直接記錄到企業庫日志表是一個壞主意,而不會將此錯誤引發到下一層。 我認為它更容易修復,因為我可以在消息中放入更多自定義信息。 當然,某些錯誤將不會得到處理,並將到達下一層。

您還有其他想法或意見。 您想澄清的事情。

謝謝

如果您的數據庫存在性能問題,並且SP /功能開始超時-將錯誤記錄到數據庫中可能不起作用怎么辦?

您是在談論捕獲錯誤並直接在T-SQL中記錄,而不是在進行RAISERROR以便將其傳遞給調用方嗎?

我認為這對於某些類型的問題而言是可行的策略-例如,如果SP希望發現問題並以靜默方式糾正它並僅發出警告。

但是,適用於此類問題的情況可能並不十分常見。

我會考慮的事情是類似非常規情況的情況,其中發生了意外的更新而不是INSERT? 或者在已經存在數據的地方不生成。 或者在跳過現有表的部署或構建腳本中,等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM