Что означают разные уровни тяжести RAISERROR?

Мой лучший результат google был this:

  • ниже 11 являются предупреждениями, а не ошибками
  • 11-16 доступны для использования
  • выше 16 - системные ошибки
  • нет разницы в поведении между 11-16

Но из BOL "Уровни серьезности от 0 до 18 могут быть указаны любым пользователем".

В моей конкретной хранимой процедуре я хочу, чтобы ошибка была возвращена клиентскому приложению .Net, поэтому он выглядит как любой уровень серьезности между 11-18 будет делать трюк. Кто-нибудь имеет какую-либо авторитетную информацию о том, что означает каждый из уровней, и как они должны использоваться?

Ответ 1

Уровни серьезности ядра базы данных

Вы должны вернуться 16. Является ли используемый по умолчанию наиболее часто используемый уровень ошибок:

Указывает на общие ошибки, которые могут быть исправлено пользователем.

Не возвращайте 17-18, это указывает на более серьезные ошибки, такие как проблемы с ресурсами:

Укажите ошибки программного обеспечения, которые не могут корректироваться пользователем. Сообщите свой системный администратор проблемы.

Также не возвращайте 11-15, потому что они имеют особый смысл, прикрепленный к каждому уровню (14 - доступ к безопасности, 15 - синтаксическая ошибка, 13 - тупик и т.д.).

Уровень 16 не завершает выполнение.

Когда вы намерены регистрировать предупреждение, но продолжаете выполнение, используйте уровень серьезности ниже 10.