xp_logevent (Transact-SQL)
適用対象:SQL Server
ユーザー定義メッセージを SQL Server ログ ファイルと Windows イベント ログに記録します。 xp_logevent
は、クライアントにメッセージを送信せずにアラートを送信するために使用できます。
構文
xp_logevent { error_number , 'message' } [ , 'severity' ]
引数
error_number
より大きい 50000
ユーザー定義エラー番号。 最大値は 2147483647
(2^31 - 1) です。
'message'
最大 2048 文字の文字列。
'severity'
次の 3 つの文字列のいずれか。 INFORMATIONAL
WARNING
ERROR
重大度 は省略可能で、既定値は INFORMATIONAL
.
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
xp_logevent
は、含まれているコード例の次のエラー メッセージを返します。
The command(s) completed successfully.
解説
Transact-SQL プロシージャ、トリガー、バッチなどのメッセージを送信する場合は、代わりにxp_logevent
ステートメントをRAISERROR
使用します。 xp_logevent
は、クライアントのメッセージ ハンドラーを呼び出したり、設定 @@ERROR
したりしません。 Windows イベント ログと SQL Server のインスタンス内の SQL Server エラー ログ ファイルにメッセージを書き込むには、ステートメントを RAISERROR
実行します。
アクセス許可
データベースの固定データベース ロールmaster
db_ownerメンバーシップ、または sysadmin 固定サーバー ロールのメンバーシップが必要です。
例
次の例では、Windows イベント ビューアーのメッセージに渡された変数を使用して、メッセージをログに記録します。
DECLARE @@TABNAME VARCHAR(30),
@@USERNAME VARCHAR(30),
@@MESSAGE VARCHAR(255);
SET @@TABNAME = 'customers';
SET @@USERNAME = USER_NAME();
SELECT @@MESSAGE = 'The table ' + @@TABNAME + ' is not owned by the user
' + @@USERNAME + '.';
USE master;
EXEC xp_logevent 60000, @@MESSAGE, informational;
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示