【发布时间】:2016-07-14 05:23:05
【问题描述】:
使用 SQL Server 2014:
我正在阅读以下文章,其中包含 TSQL 错误处理的有用模式:
https://msdn.microsoft.com/en-IN/library/ms175976.aspx
我喜欢记录错误,以便以后可以查询、监控、跟踪和检查应用程序存储过程中发生的错误。
我正在考虑创建一个表并将错误详细信息作为一行插入 CATCH 块中的表中;但是我担心这可能不是一个好的模式,或者可能有一个内置的 SQL 服务器功能可以记录 ;THROW 语句生成的错误。
记录错误的最佳方法是什么?
更新 1
我应该提到我总是在我的 SP 之上设置 XACT_ABORT:
SET XACT_ABORT,NOCOUNT ON
假设 XACT_ABORT 为 ON 时无法记录错误是否安全?
更新 2
SET XACT_ABORT ON 根据这篇文章:
http://www.sommarskog.se/error_handling/Part1.html#jumpXACT_ABORT
xp_logevent 是否比向日志表中添加错误记录更好?
【问题讨论】:
标签: sql-server tsql error-handling