use master
select * from sysmessages
我无法在互联网上找到各个代码的列表。但是我确实在MSDN上找到了严重性级别here的列表。它们如下:
严重级别/说明
- 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:表示媒体故障。系统管理员可能不得不这样做
恢复数据库。您可能还需要致电您的硬件供应商。
我自己也在寻找一个列表,发现你可以通过运行这个语句从主DB中查看它们:
SELECT * FROM sysmessages
在SQL Server 2005及更高版本中,您可以使用:
SELECT * FROM sys.messages
正如其他人所提到的,您也可以使用(在SQL Server 2000中可用):
SELECT * FROM sysmessages