У меня есть этот бит кода, который я нашел в Интернете в конце каждого из моих хранимых процедур:Таблица ошибок SQL и хранимых процедур
ROLLBACK TRANSACTION
PRINT '-----START: ERROR DETAILS-----'
PRINT ERROR_NUMBER()
PRINT ERROR_SEVERITY()
PRINT ERROR_STATE()
PRINT ERROR_PROCEDURE()
PRINT ERROR_LINE()
PRINT ERROR_MESSAGE()
PRINT '-----END: ERROR DETAILS-----'
DECLARE @prmErrmsg NVARCHAR(4000);
DECLARE @prmErrSvr INT;
SELECT @prmErrmsg = ERROR_MESSAGE()
,@prmErrSvr = ERROR_SEVERITY();
INSERT INTO dbo.myErrors
([ErrorMessage]
,[ErrorSeverity]
,[DateCreated])
VALUES
(@prmErrmsg
,@prmErrSvr
,GetutcDate())
RAISERROR(@prmErrmsg,@prmErrSvr,1)
Он пишет записи в таблицу myErrors, но не пишет сообщение об ошибке или серьезность ошибки.
Мой первый вопрос: почему?
Я считаю, что это связано с серьезностью ошибки, находящейся в определенном диапазоне.
Как я могу рассказать об этом, чтобы записывать подробные сообщения об ошибках ВСЕГДА, независимо от серьезности?