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?