快速理解 SQL Server 2000中的错误信息

来源:岁月联盟 编辑:zhuzhu 时间:2007-10-15

Microsoft® SQL Server™ 2000 在遇到问题时,根据严重级别,将把 sysmessages系统表中的消息写入 SQL Server 错误日志和 Microsoft Windows® 2000 或 Microsoft Windows NT® 4.0 应用程序日志,或者将消息发送到客户端。

可以在遇到问题时由 SQL Server 返回错误信息,也可以使用 RAISERROR 语句手工生成错误信息。

RAISERROR 语句提供集中错误信息管理。RAISERROR 可以从 sysmessages 表检索现有条目,也可以使用硬编码(用户定义)消息。RAISERROR 返回用户定义的错误信息时,还设置系统变量记录所发生的错误。消息可以包括 C PRINTF 样式的格式字符串,该格式字符串可在运行时由 RAISERROR 指定的参数填充。这条消息在定义后就作为服务器错误信息发送回客户端。

无论是从 SQL Server 返回,还是通过 RAISERROR 语句返回,每条消息都包含:

◆唯一标识该错误信息的消息号。

◆表明问题类型的严重级别。

◆标识发出错误的来源的错误状态号(如果错误可以从多个位置发出)。

◆声明问题(有时还有可能的解决方法)的消息正文。

例如,如果访问的表不存在:

SELECT *FROM bogus

发送到客户端的错误信息类似下面所示:

服务器:错误信息 208,级别 16,状态 1

对象名 'bogus' 无效。

查询 master 数据库中的 sysmessages 表可以查看 SQL Server 错误信息列表。

(责任编辑:卢兆林)