电脑技术学习

教你轻松掌握SQL Server错误信息的格式

dn001

  所有 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 驱动程序才会返回这些部分。