Sql server T-SQL中的严重性和状态错误在实际中是如何使用的?
我们在SQL Server中使用Sql server T-SQL中的严重性和状态错误在实际中是如何使用的?,sql-server,Sql Server,我们在SQL Server中使用RAISERROR。语法是RAISERROR('Some Message',16,1) 在我的示例中,参数值16和1与RAISERROR()有什么用途?我搜索了互联网,发现这些参数被称为严重性和状态。文档告诉了我们这些值的一些深奥含义,但没有给我们提供如何使用它们或为什么使用它们的好方向 我想知道的是严重性和状态是什么意思?通常应如何使用它们?根据以下文件: 严重程度 是与此消息关联的用户定义的严重性级别。使用msg_id引发使用sp_addmessage创建的用
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的值。如果在多个位置出现相同的用户定义错误,那么为每个位置使用唯一的状态号可以帮助找到引起错误的代码段。”这就是我写这篇文章的原因。因此,使用方面是一个很好的问题。