我的数据库中有大量存储过程,其中一些SP包含RAISERROR。 SQL Server是否在某处记录了这些异常(用户定义/系统)? 如果是,是否可以查询这些消息和错误号?
答案 0 :(得分:0)
这些不会自动记录,但您可以使用xp_logevent手动将所有错误添加到错误日志中。
以下是来自MSDN的示例
DECLARE @@TABNAME varchar(30)
DECLARE @@USERNAME varchar(30)
DECLARE @@MESSAGE varchar(255)
SET @@TABNAME = 'customers'
SET @@USERNAME = USER_NAME()
SELECT @@MESSAGE = 'The table ' + @@TABNAME + ' is not owned by the user
' + @@USERNAME + '.'
USE master
EXEC xp_logevent 60000, @@MESSAGE, informational
您需要修改所有存储过程,这可能是一个缺点,但它将