共用方式為


srv_message_handler (擴充預存程序 API)

重要注意事項重要事項

未來的 Microsoft SQL Server 版本將移除這項功能。請勿在新的開發工作中使用此功能,並且儘速修改使用此功能的應用程式。所以請改用 CLR 整合。

呼叫安裝的擴充預存程序 API 訊息處理常式。此函數通常用來從擴充預存程序呼叫 MicrosoftSQL Server,以在 SQL Server 錯誤記錄檔或 Microsoft Windows 應用程式記錄檔中記錄錯誤 (由擴充預存程序定義)。

語法


int srv_message_handler (
SRV_PROC *
srvproc
,
int
errornum
,
BYTE 
severity
,
BYTE
state
,
int
oserrnum
,
char *
errtext
,
int
errtextlen
,
char *
oserrtext
,
int
oserrtextlen
);

引數

  • srvproc
    這是指向 SRV_PROC 結構的指標,也是特定用戶端連接的控制代碼。srvproc 參數所包含的資訊可用來管理應用程式與用戶端之間的通訊和資料。

  • errornum
    這是擴充預存程序所定義的錯誤號碼。這個數字的範圍必須是從 50,001 到 2,147,483,647。

  • severity
    這是錯誤的標準 SQL Server 嚴重性値。這個數字的範圍必須是從 0 到 24。

  • state
    這是錯誤的 SQL Server 狀態值。

  • oserrnum
    這是作業系統錯誤號碼。會忽略這個引數。

  • errtext
    這是擴充預存程序錯誤 errornum 的描述。

  • errtextlen
    這是擴充預存程序錯誤字串 errtext 的長度。

  • oserrtext
    這是作業系統錯誤 oserrnum 的描述。會忽略這個引數。

  • oserrtextlen
    這是作業系統錯誤字串 oserrtext 的長度。

傳回值

SUCCEED 或 FAIL。

備註

srv_message_handler 函數讓擴充預存程序可以與 SQL Server 的集中式錯誤記錄和報告功能進行整合。您可以從擴充預存程序為事件建立 SQL Server 警示,而 SQL Server Agent 會針對這些警示條件進行監視。

如果錯誤訊息較長,就會截斷為 412 個位元組。

安全性注意事項安全性注意事項

您應該徹底檢閱擴充預存程序的原始程式碼,您也應該先測試編譯過的 DLL,才能將它們安裝在實際執行伺服器上。如需有關安全性檢閱和測試的資訊,請參閱此 Microsoft 網站