輕鬆掌握SQL Server錯誤資訊的格式

iSQlServer發表於2009-02-24
返回到應用程式的大多數 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 驅動程式才會返回這些部分。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-557592/,如需轉載,請註明出處,否則將追究法律責任。

相關文章