Назад | Перейти на главную страницу

Как отключить сообщение журнала событий о специальном сообщении об ошибке при использовании RaisError?

Некоторые разработчики используют в RaiseError следующий синтаксис:

RAISERROR('My business error message', 16, 0)

С целью повторного использования части catch блока try..catch для бизнес-ошибок.

Но я заметил несколько таких записей в журнале событий:

Msg # 50006, <blabla> please register the error message with sp_addmessage

Есть какой-нибудь способ отключить создание таких событий? Я искал в google, msdn и docs, но не нашел ни малейшего понятия.

Это означает, что некоторые другие разработчики используют RAISERROR(50006, 16,1)... Когда используется синтаксис msgid (или когда @local_variable в синтаксисе является int), ожидается, что сообщение было добавлено в локальную таблицу сообщений. Это нормальный подход для локализованных ошибок, когда возникает ошибка msgid и добавляются сообщения, локализованные для разных языков.

Независимо от того, какое приложение / разработчик использует синтаксис msgid, он / она также несет ответственность за добавление сообщения в таблицу сообщений во время развертывания для локали сервера.

RAISEERROR ('Это просто информация', 10, 1)

Это скажет SQL Server вызвать нефатальную ошибку.

Ссылка: http://www.sqlteam.com/article/handling-errors-in-stored-procedures