Error severity levels greater than %d can only be specified by members of the sysadmin role, using the WITH LOG option.

Error Message:
Msg 2754, Level 16, State 1, Line 1
Error severity levels greater than %d can only be specified by members of the sysadmin role, using the WITH LOG option
.

Severity level:
16.

Description:
This error message appears when you try to raise an error of a severity level that only members of the sysadmin role can use.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
Error of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. You must either specify a lower severity level or the statement must be executed in the security context of a member of the sa role.

Versions:
All versions of SQL Server.

Example(s):
USE Master;
GO
DROP LOGIN MyUser;
GO
CREATE LOGIN MyUser
  WITH PASSWORD = ‘abc’;
USE Northwind;
DROP USER MyUser;
CREATE USER MyUser FOR LOGIN MyUser
  WITH DEFAULT_SCHEMA = dbo;
GO
SETUSER ‘MyUser’
GO
RAISERROR (N’This is message %s %d.’, — Message text.
           19, — Severity,
           1, — State,
           N’number’, — First argument.
           5); — Second argument.
— The message text returned is: This is message number 5.
GO
SETUSER

Remarks:
In the above example we try to raise an error of the severtiy level of 19 within the security context of a user without sa privileges. This raises the error.

]]>

Leave a comment

Your email address will not be published.