Sql-Server
在 sql server 嚴重性高於 18 時引發錯誤
我可以輕鬆地引發嚴重性不高於 18 的使用者定義錯誤。當更高時,我收到此錯誤
大於 18 的錯誤嚴重級別只能由 sysadmin 角色的成員使用 WITH LOG 選項指定。
我有權訪問 sysadmin 角色,因此有人可以指定使用 LOG 選項引發錯誤的語法。謝謝。
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
請記住,20 及以上的嚴重性將終止連接(甚至不會跳轉到 a
CATCH
)。
您還可以在使用 sp_addmessage sproc 時指定 @with_log 參數
sp_addmessage 50001, 19, 'Test Message', @with_log='True'