SQLGetDiagField
適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)
SQL Server Native Client ODBC 驅動程式會指定 SQLGetDiagField 的下列其他診斷欄位 。 這些欄位支援 SQL Server 應用程式的豐富錯誤報表,而且可在連線的 ODBC 連接控制碼和 ODBC 語句控制碼上產生的所有診斷記錄中使用。 欄位定義于 sqlncli.h 中。
診斷記錄欄位 | 描述 |
---|---|
SQL_DIAG_SS_LINE | 報告產生錯誤的預存程式列號。 只有在SQL_DIAG_SS_PROCNAME傳回值時,SQL_DIAG_SS_LINE的值才有意義。 此值會以不帶正負號的 16 位整數傳回。 |
SQL_DIAG_SS_MSGSTATE | 錯誤訊息的狀態。 如需錯誤訊息狀態的相關資訊,請參閱 RAISERROR 。 此值會以帶正負號的 32 位整數傳回。 |
SQL_DIAG_SS_PROCNAME | 適當時產生錯誤的預存程式名稱。 值會以字元字串的形式傳回。 字串的長度(以字元為單位)取決於 SQL Server 的版本。 呼叫 SQLGetInfo 以要求SQL_MAX_PROCEDURE_NAME_LEN的值來判斷 。 |
SQL_DIAG_SS_SEVERITY | 相關聯錯誤訊息的嚴重性層級。 此值會以帶正負號的 32 位整數傳回。 |
SQL_DIAG_SS_SRVNAME | 發生錯誤之伺服器的名稱。 值會以字元字串的形式傳回。 字串的長度(以字元為單位)是由 sqlncli.h 中的SQL_MAX_SQLSERVERNAME宏所定義。 |
包含字元資料、SQL_DIAG_SS_PROCNAME和SQL_DIAG_SS_SRVNAME的 SQL Server 特定診斷欄位,會將該資料以 Null 終止、ANSI 或 Unicode 字串的形式傳回用戶端。 如有必要,字元寬度應調整字元計數。 或者,TCHAR 或 SQLTCHAR 等可攜式 C 資料類型可用來確保正確的程式可變長度。
SQL Server Native Client ODBC 驅動程式會報告下列其他動態函式程式碼,以識別上次嘗試的 SQL Server 語句。 動態函式程式碼會在診斷記錄集的標頭 (記錄 0) 中傳回,因此可在每次執行時使用(成功或不成功)。
動態函式程式碼 | 來源 |
---|---|
SQL_DIAG_DFC_SS_ALTER_DATABASE | ALTER DATABASE 陳述式 |
SQL_DIAG_DFC_SS_CHECKPOINT | CHECKPOINT 語句 |
SQL_DIAG_DFC_SS_CONDITION | 語句的 WHERE 或 HAVING 子句中出現錯誤。 |
SQL_DIAG_DFC_SS_CREATE_DATABASE | CREATE DATABASE 陳述式 |
SQL_DIAG_DFC_SS_CREATE_DEFAULT | CREATE DEFAULT 語句 |
SQL_DIAG_DFC_SS_CREATE_PROCEDURE | CREATE PROCEDURE 語句 |
SQL_DIAG_DFC_SS_CREATE_RULE | CREATE RULE 語句 |
SQL_DIAG_DFC_SS_CREATE_TRIGGER | CREATE TRIGGER 語句 |
SQL_DIAG_DFC_SS_CURSOR_DECLARE | DECLARE CURSOR 語句 |
SQL_DIAG_DFC_SS_CURSOR_OPEN | OPEN 陳述式 |
SQL_DIAG_DFC_SS_CURSOR_FETCH | FETCH 陳述式 |
SQL_DIAG_DFC_SS_CURSOR_CLOSE | CLOSE 陳述式 |
SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR | DEALLOCATE 陳述式 |
SQL_DIAG_DFC_SS_DBCC | DBCC 語句 |
SQL_DIAG_DFC_SS_DENY | DENY 語句 |
SQL_DIAG_DFC_SS_DROP_DATABASE | DROP DATABASE 語句 |
SQL_DIAG_DFC_SS_DROP_DEFAULT | DROP DEFAULT 語句 |
SQL_DIAG_DFC_SS_DROP_PROCEDURE | DROP PROCEDURE 語句 |
SQL_DIAG_DFC_SS_DROP_RULE | DROP RULE 語句 |
SQL_DIAG_DFC_SS_DROP_TRIGGER | DROP TRIGGER 語句 |
SQL_DIAG_DFC_SS_DUMP_DATABASE | BACKUP 或 DUMP DATABASE 語句 |
SQL_DIAG_DFC_SS_DUMP_TABLE | DUMP TABLE 語句 |
SQL_DIAG_DFC_SS_DUMP_TRANSACTION | BACKUP 或 DUMP TRANSACTION 語句。 如果截斷, 也會傳回 CHECKPOINT 語句。登入 chkpt。 資料庫選項為開啟。 |
SQL_DIAG_DFC_SS_GOTO | GOTO 流程式控制制語句 |
SQL_DIAG_DFC_SS_INSERT_BULK | INSERT BULK 語句 |
SQL_DIAG_DFC_SS_KILL | KILL 語句 |
SQL_DIAG_DFC_SS_LOAD_DATABASE | LOAD 或 RESTORE DATABASE 語句 |
SQL_DIAG_DFC_SS_LOAD_HEADERONLY | LOAD 或 RESTORE HEADERONLY 語句 |
SQL_DIAG_DFC_SS_LOAD_TABLE | LOAD TABLE 語句 |
SQL_DIAG_DFC_SS_LOAD_TRANSACTION | LOAD 或 RESTORE TRANSACTION 語句 |
SQL_DIAG_DFC_SS_PRINT | PRINT 語句 |
SQL_DIAG_DFC_SS_RAISERROR | RAISERROR 陳述式 |
SQL_DIAG_DFC_SS_READTEXT | READTEXT 語句 |
SQL_DIAG_DFC_SS_RECONFIGURE | RECONFIGURE 語句 |
SQL_DIAG_DFC_SS_RETURN | RETURN control-of-flow 語句 |
SQL_DIAG_DFC_SS_SELECT_INTO | SELECT INTO 陳述式 |
SQL_DIAG_DFC_SS_SET | SET 語句 (泛型,所有選項) |
SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT | SET IDENTITY_INSERT 語句 |
SQL_DIAG_DFC_SS_SET_ROW_COUNT | SET ROWCOUNT 語句 |
SQL_DIAG_DFC_SS_SET_STATISTICS | SET STATISTICS IO 或 SET STATISTICS TIME 語句 |
SQL_DIAG_DFC_SS_SET_TEXTSIZE | SET TEXTSIZE 語句 |
SQL_DIAG_DFC_SS_SETUSER | SETUSER 語句 |
SQL_DIAG_DFC_SS_SET_XCTLVL | SET TRANSACTION ISOLATION LEVEL 語句 |
SQL_DIAG_DFC_SS_SHUTDOWN | SHUTDOWN 語句 |
SQL_DIAG_DFC_SS_TRANS_BEGIN | BEGIN TRAN 語句 |
SQL_DIAG_DFC_SS_TRANS_COMMIT | COMMIT TRAN 語句 |
SQL_DIAG_DFC_SS_TRANS_PREPARE | 準備認可分散式交易 |
SQL_DIAG_DFC_SS_TRANS_ROLLBACK | ROLLBACK TRAN 語句 |
SQL_DIAG_DFC_SS_TRANS_SAVE | SAVE TRAN 語句 |
SQL_DIAG_DFC_SS_TRUNCATE_TABLE | TRUNCATE TABLE 語句 |
SQL_DIAG_DFC_SS_UPDATE_STATISTICS | UPDATE STATISTICS 語句 |
SQL_DIAG_DFC_SS_UPDATETEXT | UPDATETEXT 語句 |
SQL_DIAG_DFC_SS_USE | USE 語句 |
SQL_DIAG_DFC_SS_WAITFOR | WAITFOR 流程式控制制語句 |
SQL_DIAG_DFC_SS_WRITETEXT | WRITETEXT 語句 |
SQLGetDiagField 和資料表值參數
SQLGetDiagField 可用來擷取兩個診斷欄位:SQL_DIAG_SS_TABLE_COLUMN_NUMBER和SQL_DIAG_SS_TABLE_ROW_NUMBER。 這些欄位可協助您判斷哪個值導致與診斷記錄相關聯的錯誤或警告。
如需資料表值參數的詳細資訊,請參閱 資料表值參數 (ODBC) 。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應