次の方法で共有


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

ms164624.note(ja-jp,SQL.90).gif重要 :
この機能は、Microsoft SQL Server の将来のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。代わりに、CLR 統合を使用してください。

インストールされている拡張ストアド プロシージャ API メッセージ ハンドラを呼び出します。通常この関数は、拡張ストアド プロシージャから Microsoft SQL Server を呼び出して、拡張ストアド プロシージャで定義されているエラーを SQL Server のエラー ログ ファイルや Microsoft のアプリケーション ログに書き込む場合に使用します。

構文


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 バイトに切り捨てられます。

ms164624.security(ja-jp,SQL.90).gifセキュリティ メモ :
拡張ストアド プロシージャのソース コードを十分に確認し、コンパイルした DLL をテストしたうえで実稼働サーバーにインストールしてください。セキュリティの確認およびテストの詳細については、Microsoft の Web サイトを参照してください。