sp_altermessage (Transact-SQL)
適用対象: SQL Server
SQL Server データベース エンジンのインスタンス内のユーザー定義メッセージまたはシステム メッセージの状態を変更します。 ユーザー定義メッセージは、 sys.messages
カタログ ビューを使用して表示できます。
構文
sp_altermessage
[ @message_id = ] message_id
, [ @parameter = ] N'parameter'
, [ @parameter_value = ] 'parameter_value'
[ ; ]
引数
[ @message_id = ] message_id
sys.messages
から変更するメッセージのエラー番号。 @message_id は int で、既定値はありません。
[ @parameter = ] N'parameter'
メッセージが Windows アプリケーション ログに書き込まれることを示すために、 @parameter_value と共に使用されます。 @parameter は sysname で、既定値はありません。
@parameter は、 WITH_LOG
または NULL
に設定する必要があります。 @parameterがWITH_LOG
またはNULL
に設定されていて、@parameter_valueの値がtrue
されている場合、メッセージは Windows アプリケーション ログに書き込まれます。 @parameterがWITH_LOG
またはNULL
に設定されていて、@parameter_valueの値がfalse
場合、メッセージは常に Windows アプリケーション ログに書き込まれるわけではありませんが、エラーの発生方法によっては書き込まれる可能性があります。
メッセージが Windows アプリケーション ログに書き込まれる場合は、データベース エンジンエラー ログ ファイルにも書き込まれます。
@parameterを指定する場合は、@parameter_valueも指定する必要があります。
[ @parameter_value = ] 'parameter_value'
エラーが Windows アプリケーション ログに書き込まれることを示すために、 @parameter と共に使用されます。 @parameter_value は varchar(5)で、既定値はありません。
true
場合、エラーは常に Windows アプリケーション ログに書き込まれます。false
場合、エラーは常に Windows アプリケーション ログに書き込まれるとは限りませんが、エラーの発生方法によっては書き込まれる可能性があります。
@parameter_valueを指定する場合は、@parameterも指定する必要があります。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
WITH_LOG
オプションを使用したsp_altermessage
の効果は、RAISERROR WITH LOG
パラメーターの効果と似ていますが、既存のメッセージのログ動作sp_altermessage
変更される点が異なります。 メッセージが WITH_LOG
されるように変更された場合、ユーザーがエラーを呼び出す方法に関係なく、常に Windows アプリケーション ログに書き込まれます。 WITH_LOG
オプションなしでRAISERROR
が実行された場合でも、エラーは Windows アプリケーション ログに書き込まれます。
システム メッセージは、 sp_altermessage
を使用して変更できます。
アクセス許可
serveradmin固定サーバー ロールのメンバーシップが必要です。
例
次の例では、既存のメッセージ 55001
を Windows アプリケーション ログに書き込みます。
EXEC sp_altermessage 55001, 'WITH_LOG', 'true';
GO