引发高于 18 的 sql server 严重性错误

4 sql-server errors raiserror

我可以轻松地在严重性不高于 18 的情况下引发用户定义的错误。当更高时,我收到此错误

大于 18 的错误严重级别只能由 sysadmin 角色的成员使用 WITH LOG 选项指定。

我有权访问 sysadmin 角色,所以有人可以指定使用 LOG 选项引发错误的语法。谢谢。

EzL*_*zLo 5

WITH是位于RAISERROR.结尾的可选子句。几个例子:

RAISERROR('Oops', 10, 1)
RAISERROR('Oops', 10, 1) WITH NOWAIT
RAISERROR('Oops', 10, 1) WITH SETERROR

RAISERROR('Oops', 19, 1) -- Fails with "Error severity levels greater than 18..."
RAISERROR('Oops', 19, 1) WITH LOG -- OK
Run Code Online (Sandbox Code Playgroud)

请记住,20 及以上的严重性将终止连接(甚至不会跳转到 a CATCH)。