所有 Microsoft® SQL Server™ 2000 组件都可以向应用程序发出信息、警告或错误信息。返回到应用程序的大多数 SQL Server 信息都包含如下部分:
◆错误号
用来标识该消息的一到五位的数字。用户定义消息的错误号可以包含多个位。
◆描述
Unicode 字符串,包含有关生成消息的条件的信息。
◆严重级别
表明错误条件严重程度的一个一位或两位的数字。
◆状态
一个一位到三位的数字,最大值为 127,向 Microsoft 支持工程师和开发人员表明该消息在 SQL Server 代码中生成的位置:
◆行号
批处理或存储过程(包含生成消息的语句)中的一个数字。行号也可以包含在所执行的存储过程文本中。
多数 SQL Server 消息的错误号、描述和严重级别都存储在 master.dbo.sysmessages 中,状态和行号是由发出消息的代码动态生成的。
在客户 Net-Library、用于 SQL Server 的 Microsoft OLE DB 提供程序或 SQL Server ODBC 驱动程序中产生的消息不包含其中的一些消息组成部分。
要想看到错误信息的示例,请执行下列语句:
以下是引用片段:
SELECT * FROM ThisObjectDoesNotExist
此语句产生的错误具有以下这些部分:
错误号:208
严重级别:16
状态:1
行:1
描述:对象名 'ThisObjectDoesNotExist' 无效。
应用程序用来访问 SQL Server 的所有数据 API 均返回错误号和描述。并非所有 API 都返回严重级别、状态或行号。只有编写 OLE DB 或 ODBC 应用程序时使用了由用于 SQL Server 的 Microsoft OLE DB 提供程序和 SQL Server ODBC 驱动程序表现的 SQL Server 特定的诊断功能,用于 SQL Server 的 Microsoft OLE DB 提供程序和 SQL Server ODBC 驱动程序才会返回这些部分。