SQL Server作业报错特殊案例分析

2020-07-10 08:03:26易采站长站整理

如上截图所示,从这里可以看到出错信息的Sql Severity级别为13, 通过数据库引擎错误严重性(Database Engine Error Severities),我们可以知道13意味着Indicates transaction deadlock errors. 也就是说出现死锁,导致作业的会话成为了死锁的牺牲品。不过也很奇怪,以前也遇到过作业由于出现死锁,导致作业失败的情况。都会在Message里面有提示,但是这个实例的版本SQL Server 2012 SP3(11.0.6020.0),出现死锁,居然没有提示相关死锁信息。不清楚是Bug还是其它原因。

严重性级别

下表列出并说明 SQL Server 数据库引擎所引起错误的严重级别。

严重级别

描述

0-9

返回不太严重的状态信息或报表错误的信息性消息。 数据库引擎 不会引起严重级别为 0 到 9 的系统错误。

10

返回不太严重的状态信息或报表错误的信息性消息。 由于兼容性原因, 数据库引擎 在将错误信息返回到调用应用程序前将严重性级别从 10 转换为 0。

11-16

指示可由用户纠正的错误。

11

指示给定的对象或实体不存在。

12

特殊严重性,用于因特殊查询提示而不使用锁定的查询。 在某些情况下,因为没有用锁保证一致性,由这些语句所执行的读取操作会产生不一致的数据。

13

指示事务死锁错误。

14

指示安全性相关错误,如权限被拒绝。

15

指示 Transact-SQL?命令中的语法错误。

16

指示可由用户纠正的常规错误。

17-19

指示无法由用户纠正的软件错误。 请将问题通知系统管理员。

17

指示语句导致 SQL Server?用尽资源(如数据库的内存、锁或磁盘空间)或超出了系统管理员设置的某些限制。

相关文章 大家在看