分享方式:


srv_message_handler (擴充預存程式 API)

適用於:SQL Server

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CLR 整合。

呼叫已安裝的擴充預存程式 API 訊息處理程式。 此函式通常用來從擴充預存程式呼叫 sql Server Microsoft,以在 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
這是擴充預存程式錯誤錯誤 號碼的描述。

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

oserrtext
這是操作系統錯誤 oserrnum 的描述。 這個自變數會被忽略。

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

傳回

SUCCEED 或FAIL。

備註

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

如果錯誤訊息較長,則會截斷為 412 個字節。

重要

您應該徹底檢閱擴充預存程式的原始程式碼,而且您應該先測試已編譯的 DLL,再於實際執行伺服器上安裝它們。 如需安全性檢閱和測試的相關信息,請參閱此 Microsoft網站