次の方法で共有


sp_altermessage (Transact-SQL)

適用対象: SQL Server

SQL Server データベース エンジンのインスタンス内のユーザー定義メッセージまたはシステム メッセージの状態を変更します。 ユーザー定義メッセージは、 sys.messages カタログ ビューを使用して表示できます。

Transact-SQL 構文表記規則

構文

sp_altermessage
    [ @message_id = ] message_id
    , [ @parameter = ] N'parameter'
    , [ @parameter_value = ] 'parameter_value'
[ ; ]

引数

[ @message_id = ] message_id

sys.messagesから変更するメッセージのエラー番号。 @message_idint で、既定値はありません。

[ @parameter = ] N'parameter'

メッセージが Windows アプリケーション ログに書き込まれることを示すために、 @parameter_value と共に使用されます。 @parametersysname で、既定値はありません。

@parameter は、 WITH_LOG または NULLに設定する必要があります。 @parameterWITH_LOGまたはNULLに設定されていて、@parameter_valueの値がtrueされている場合、メッセージは Windows アプリケーション ログに書き込まれます。 @parameterWITH_LOGまたはNULLに設定されていて、@parameter_valueの値がfalse場合、メッセージは常に Windows アプリケーション ログに書き込まれるわけではありませんが、エラーの発生方法によっては書き込まれる可能性があります。

メッセージが Windows アプリケーション ログに書き込まれる場合は、データベース エンジンエラー ログ ファイルにも書き込まれます。

@parameterを指定する場合は、@parameter_valueも指定する必要があります。

[ @parameter_value = ] 'parameter_value'

エラーが Windows アプリケーション ログに書き込まれることを示すために、 @parameter と共に使用されます。 @parameter_valuevarchar(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