【总结】SQL Server Severity (错误严重性级别)
参照Microsoft官方文档:
中文: 数据库引擎错误严重性 - SQL Server | Microsoft Docs
英文: Database Engine Error Severities - SQL Server | Microsoft Docs
简而言之,SQL Server错误等级分为三个等级:
1. 轻微错误 :严重性级别为0-10
2. 中等错误 :严重性级别为11-19
3. 严重错误 :严重性级别为20-25
SQL Server保存的所有错误消息是可以通过检索sys.messages这个视图查看
下面是MS官方文档内容:
当错误是由 SQL Server 数据库引擎引起时,此错误的严重性可说明 SQL Server所遇到问题的类型。
严重性级别
下表列出并说明 SQL Server 数据库引擎所引起错误的严重级别。
严重性级别 | 说明 |
---|---|
0-9 | 返回不太严重的状态信息或报表错误的信息性消息。 数据库引擎 不会引起严重级别为 0 到 9 的系统错误。 |
10 | 返回不太严重的状态信息或报表错误的信息性消息。 由于兼容性原因, 数据库引擎 在将错误信息返回到调用应用程序前将严重性级别从 10 转换为 0。 |
11-16 | 指示可由用户纠正的错误。 |
11 | 指示给定的对象或实体不存在。 |
12 | 特殊严重性,用于因特殊查询提示而不使用锁定的查询。 在某些情况下,因为没有用锁保证一致性,由这些语句所执行的读取操作会产生不一致的数据。 |
13 | 指示事务死锁错误。 |
14 | 指示安全性相关错误,如权限被拒绝。 |
15 | 指示 Transact-SQL 命令中的语法错误。 |
16 | 指示可由用户纠正的常规错误。 |
17-19 | 指示无法由用户纠正的软件错误。 请将问题通知系统管理员。 |
17 | 指示语句导致 SQL Server 用尽资源(如数据库的内存、锁或磁盘空间)或超出了系统管理员设置的某些限制。 |
18 | 指示 数据库引擎 软件中有问题,但可完成执行语句,并且可维护到 数据库引擎 实例的连接。 每当出现严重级别为 18 的消息时均应通知系统管理员。 |
19 | 指示超出了不可配置的 数据库引擎 限制并且当前批处理已终止。 严重级别为 19 或更高的错误消息将停止执行当前的批处理。 严重级别为 19 的错误很少,必须由系统管理员或主要支持提供商更正。 当引发严重级别为 19 的消息时,请与系统管理员联系。 严重级别从 19 到 25 的错误消息均写入错误日志。 |
20-24 |
指示系统问题并且是致命错误,这意味着正在执行某语句或批处理的 数据库引擎 任务已停止运行。 此任务记录了所发生事件的有关信息,然后终止。 在大多数情况下,应用程序与 数据库引擎 实例的连接也可能终止。 如果发生这种情况,该问题可能使应用程序无法重新连接。
此范围内的错误消息可以影响同一数据库中所有正在访问数据的进程,并可能指示数据库或对象已损坏。 严重级别从 19 到 24 的错误消息均写入错误日志。 |
20 | 指示语句遇到了问题。 由于该问题只影响了当前任务,数据库本身未必已经损坏。 |
21 | 指示遇到了影响当前数据库中所有任务的问题,但数据库本身未必已经损坏。 |
22 |
指示消息中所指定的表或索引因软件或硬件问题而损坏。
很少发生严重级别为 22 的错误。 如果发生这种错误,请运行 DBCC CHECKDB 以确定数据库中的其他对象是否也已损坏。 这种问题可能只是出现在缓存中而不存在于磁盘本身。 如果发生此错误,请重新启动 数据库引擎 实例更正此问题。 若要继续工作,则必须重新连接到 数据库引擎实例;否则,请使用 DBCC 修复该问题。 在某些情况下,可能需要还原数据库。 如果重新启动 数据库引擎 的实例不能解决此问题,那么问题就是出在磁盘上。 有时,销毁错误消息中指定的对象可以解决此问题。 例如,如果消息报告 数据库引擎 的实例在非聚集索引中发现了长度为 0 的行,则请删除该索引并重建。 |
23 |
指示整个数据库的完整性因硬件或软件问题而出现问题。
很少发生严重级别为 23 的错误。 如果发生这种错误,请运行 DBCC CHECKDB 以确定损坏的程度。 这种问题可能只是出现在缓存中而未出现在磁盘本身。 如果发生此错误,请重新启动 数据库引擎 实例更正此问题。 若要继续工作,则必须重新连接到 数据库引擎实例;否则,请使用 DBCC 修复该问题。 在某些情况下,可能需要还原数据库。 |
24 | 指示介质故障。 系统管理员可能需要还原数据库。 您可能还需要致电硬件供应商。 |
用户定义的错误消息严重性
可以使用 sp_addmessage 将严重级别为 1 到 25 的用户定义错误消息添加到 sys.messages 目录视图中。 这些用户定义的错误消息可供 RAISERROR 使用。 有关详细信息,请参阅 sp_addmessage (Transact-SQL)。
可用 RAISERROR 生成严重性级别为 1 到 25 的用户定义错误消息。 RAISERROR 可以引用 sys.messages 目录视图中存储的用户定义错误消息,也可以动态地生成消息。 生成错误时如果使用 sys.messages 中的用户定义错误消息,则 RAISERROR 指定的严重级别将覆盖 sys.messages中指定的严重级别。 有关详细信息,请参阅 RAISERROR (Transact-SQL)。
错误严重性和 TRY...CATCH
TRY...CATCH 构造可捕捉所有严重级别大于 10 但不终止数据库连接的错误。
严重级别从 0 到 10 的错误是信息性消息,并不导致执行从 TRY...CATCH 构造的 CATCH 块中跳转。
终止数据库连接的错误(通常严重级别为 20 到 25)不由 CATCH 块处理,因为连接终止后执行也中止了。
有关详细信息,请参阅 TRY...CATCH (Transact-SQL)。
【总结】SQL Server Severity (错误严重性级别)相关推荐
- SQL Server数据库的兼容级别:错误;找不到xxxx对象
出现的错误:"找不到[openjson]对象",后来发现是由于数据库版本的兼容性造成的,该对象是sql 2016新出的 SQL Server 是Microsoft 公司推出的关系型 ...
- Excel导入sql server 2005错误0xc00470fe数据流任务产品级别对于组件源-Sheet1$(1)而言不足
Excel导入sql server 2005错误0xc00470fe数据流任务产品级别对于组件源-Sheet1$(1)而言不足 将Excel 导入sql server 2005数据库时, 提示: &q ...
- SQL Server的错误日志
无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯现场及原因.Windows Event Log和 SQL Se ...
- Microsoft SQL Server 数据库 错误号大全
panchzh :Microsoft SQL Server 数据库 错误号大全 0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 ...
- SQL SERVER 驱动程序错误
SQLSTATE SQL SERVER 驱动程序错误 描述 HY000 所有绑定列都是只读的. 必须是可升级的列,以使用 SQLSetPos 或 SQLBulkOperations 更改 ...
- SQL SERVER错误:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
在SSMS(Microsoft SQL Server Management Studio)里面,查看数据库对应的表的时候,会遇到"Lock Request time out period e ...
- SQL Server事务的隔离级别
SQL Server事务的隔离级别 ########## 数据库中数据的一致性 ########## 针对并发事务出现的数据不一致性,提出了4个级别的解决方法: 隔离级别 第一类丢失更新 脏读 ...
- (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。) (Microsoft SQL Server,错误: 233)...
------------------------------ 无法连接到 IFCA-LIUWEI/SQL2005. ------------------------------ 其他信息: 已成功与服 ...
- C#-修改图书借阅管理系统-错误与SQL server 2008错误、复制数据库
VS2012错误: *)不存在从对象类型 System.Object[] 到已知的托管提供程序本机类型的映射 public DataTable loadData2UserSearch(params o ...
最新文章
- c语言潮流计算验证30节点,C语言潮流计算研究报告.doc
- Nature Methods:宏基因组物种组成分析工具MetaPhlAn2
- [TT]-Trustonic acronyms
- 《Redis深度历险:核心原理和应用实践》千帆竞发——分布式锁
- [IPhone] 仅在Debug编译的NSLog
- 推荐一款免费国产远程办公神器ToDesk,TeamViewer完美替代品
- 力扣529.扫雷游戏
- postgresql 索引状态_PostgreSQL中的锁:3.其他锁
- 查看数据库实例名的方法:
- 第四方支付平台程序源码_云计费系统源码
- Python实现图书管理系统
- Tara APP隐私政策
- 详解package.json文件
- Excel中如何输入前面带0的数值
- 初学者应该买什么样的吉他 |新手建议|新手必看
- php自写api文档生成工具
- C#--如何用字符串组成的逻辑表达式进行判断,如:“7>2(4<7||8>4)“,字符串写的逻辑表达式来进行判断(只需3步)
- Keil MDK 又更新了啥子嘛?
- P2P在NAT和防火墙上的穿透
- with app.app_context(). See the documentation for more information.
热门文章
- python编写抢座位软件_用Python抢到回家的车票,so easy!
- vue 子路由如何激活父路由_vue嵌套路由(父子路由)
- 女生不适合学java?其实不然,女生往往更有优势!
- 应用回归分析期末考试知识点总结
- 无net.exe 加用户vbs
- AD PCB 错误检查
- 计算机色彩模式的相关知识,2015年计算机一级PS知识点辅导:图像的色彩模式
- Windows xp正版验证序列号大全
- 新建“信纸”定制个人邮件书写格式for Outlook 2016
- rust 官服 时间_rust所有官服介绍 | 手游网游页游攻略大全