Sql server T-SQL中的严重性和状态错误在实际中是如何使用的?

Sql server T-SQL中的严重性和状态错误在实际中是如何使用的?,sql-server,Sql Server,我们在SQL Server中使用RAISERROR。语法是RAISERROR('Some Message',16,1) 在我的示例中,参数值16和1与RAISERROR()有什么用途?我搜索了互联网,发现这些参数被称为严重性和状态。文档告诉了我们这些值的一些深奥含义,但没有给我们提供如何使用它们或为什么使用它们的好方向 我想知道的是严重性和状态是什么意思?通常应如何使用它们?根据以下文件: 严重程度 是与此消息关联的用户定义的严重性级别。使用msg_id引发使用sp_addmessage创建的用

我们在SQL Server中使用
RAISERROR
。语法是
RAISERROR('Some Message',16,1)

在我的示例中,参数值
16
1
RAISERROR()
有什么用途?我搜索了互联网,发现这些参数被称为
严重性
状态
。文档告诉了我们这些值的一些深奥含义,但没有给我们提供如何使用它们或为什么使用它们的好方向

我想知道的是
严重性
状态
是什么意思?通常应如何使用它们?

根据以下文件:

严重程度 是与此消息关联的用户定义的严重性级别。使用
msg_id
引发使用sp_addmessage创建的用户定义消息时,在
RAISERROR
上指定的严重性将覆盖在
sp_addmessage
中指定的严重性

任何用户都可以指定从0到18的严重性级别。严重性级别从19到25只能由sysadmin固定服务器角色的成员或具有
ALTER TRACE
权限的用户指定。对于从19到25的严重性级别,需要
WITH LOG
选项。低于0的严重性级别被解释为0。严重性级别大于25将被解释为25

陈述 是从0到255的整数。负值默认为1。不应使用大于255的值

如果在多个位置引发相同的用户定义错误,则为每个位置使用唯一的状态号可以帮助查找引发错误的代码段


错误状态用于锁定代码中发生错误的位置。假设您有一个1000行长的存储过程,并且在不同的位置引发错误,则错误状态将帮助您判断实际引发的错误

错误严重性提供了有关所发生错误类型的信息

严重级别不超过10的是信息性消息

11-16被认为是用户可以修复的错误

17-19被认为是Sql Server资源、引擎和其他内容中的非致命错误


20-25被认为是导致sql server立即关闭进程的致命错误。

“请为我阅读文档”?这是有关状态的文档:“状态是从0到255的整数。负值默认为1。不应使用大于255的值。如果在多个位置出现相同的用户定义错误,那么为每个位置使用唯一的状态号可以帮助找到引起错误的代码段。”这就是我写这篇文章的原因。因此,使用方面是一个很好的问题。