What do the different RAISERROR severity levels mean?

raiserror, sql-server

Solution

Database Engine Severity Levels

You should return 16. Is the default, most used error level:

Indicates general errors that can be corrected by the user.

Don't return 17-18, those indicate more severe errors, like resource problems:

Indicate software errors that cannot be corrected by the user. Inform your system administrator of the problem.

Also don't return 11-15 because those have a special meaning attached to each level (14 - security access, 15 - syntax error, 13 - deadlock etc).

Level 16 does not terminate execution.

When your intention is to log a warning but continue execution, use a severity level below 10 instead.

Problem

My best google result was this: - below 11 are warnings, not errors - 11-16 are available for use - above 16 are system errors - there is no behavioral difference among 11-16 But, from BOL, "Severity levels from 0 through 18 can be specified by any user." In my particular stored procedure, I want the error returned to a .Net client application, so it looks like any severity level between 11-18 would do the trick. Does anyone have any authoritative information about what each of the levels mean, and how they should be used?

Original source

Related problems