是否有所有 SQL Server 2012 错误代码的概述?
SQLGetDiagRec 返回本机错误代码.有没有关于 SQL Server 2012 错误代码的概述?我在 MSDN 上找不到任何内容.
SQLGetDiagRec returns a native error code. Is there anywhere an overview of the error codes of SQL Server 2012? I couldn't find anything on MSDN.
推荐答案
我无法在 Internet 上找到各个代码的列表.但是我确实找到了严重级别的列表here 在 MSDN 上.它们如下:
I'm unable to find a list of the individual codes in the internet. However I did find a list of the severity levels here on MSDN. They are as follows:
严重程度/描述
- 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:表示媒体故障.系统管理员可能必须恢复数据库.您可能还需要致电您的硬件供应商.
相关文章