是否概述了所有SQL Server 2012错误代码?

Ant*_*ino 17 sql-server odbc c++-cli sql-server-2012

SQLGetDiagRec返回本机错误代码.是否有任何概述SQL Server 2012的错误代码?我在MSDN上找不到任何东西.

Dav*_*ant 34

use master
select * from sysmessages
Run Code Online (Sandbox Code Playgroud)


Kei*_*ith 10

我无法在互联网上找到各个代码的列表.但是我发现了严重级别的列表,在这里在MSDN上.它们如下:

严重性级别/描述

  • 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来修复问题.在某些情况下,您可能必须还原数据库.如果重新启动数据库引擎实例无法解决问题,则问题出在磁盘上.有时销毁错误消息中指定的对象可以解决问题.例如,
  • 23:表示由于硬件或软件问题导致整个数据库的完整性受到质疑.严重级别23错误很少发生.如果出现这种情况,请运行DBCC CHECKDB以确定损坏程度.问题可能只在缓存中,而不在磁盘本身上.如果是这样,重新启动数据库引擎实例可以解决问题.要继续工作,您必须重新连接到数据库引擎的实例; 否则,使用DBCC来修复问题.在某些情况下,您可能必须还原数据库.
  • 24:表示介质故障.系统管理员可能必须还原数据库.您可能还需要致电您的硬件供应商.


小智 6

我找到了MS SQL Server 2008 R2的代码,但大多数代码都适用于更高版本:http: //technet.microsoft.com/en-us/library/cc645603(v = sql.105).aspx