Share via


srv_message_handler (拡張ストアド プロシージャ API)

適用対象:SQL Server

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CLR 統合を使用してください。

インストールされている拡張ストアド プロシージャ API メッセージ ハンドラーを呼び出します。 この関数は、通常、拡張ストアド プロシージャから Microsoft SQL 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 エージェントはこれらのアラート条件を監視します。

エラー メッセージが長い場合は、412 バイトに切り捨てられます。

重要

拡張ストアド プロシージャのソース コードを十分に確認し、コンパイル済み DLL を、運用サーバーにインストールする前にテストする必要があります。 セキュリティの確認およびテストについて詳しくは、Microsoft の Web サイトをご覧ください。