sp_altermessage (Transact-SQL)

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

ms175094.note(ja-jp,SQL.90).gif重要 :
この機能は以前のバージョンの SQL Server から変更されました。詳細については、「SQL Server 2005 におけるデータベース エンジン機能の動作の変更」を参照してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_altermessage [ @message_id = ] message_number   , [ @parameter = ] 'write_to_log'
      , [ @parameter_value = ] 'value' 

引数

  • [****@message_id =** ] message_number
    sys.messages から変更するメッセージのエラー番号です。message_number のデータ型は int で、既定値はありません。
  • [ @parameter = ] 'write_to_log'
    @parameter_value と共に使用して Microsoft Windows のアプリケーション ログにメッセージを書き込むことを指定します。write_to_log のデータ型は sysname で、既定値はありません。write_to_log は WITH_LOG または NULL に設定する必要があります。write_to_log を WITH_LOG または NULL に設定し、
    @parameter_value
    の値が true である場合、メッセージは Windows のアプリケーション ログに書き込まれます。write_to_log を WITH_LOG または NULL に設定し、@parameter_value の値が false である場合は、メッセージは常に Windows のアプリケーション ログに書き込まれるわけではありませんが、エラーの発生状況によっては書き込まれることもあります。write_to_log を指定した場合は、@parameter_value の値も指定する必要があります。

    ms175094.note(ja-jp,SQL.90).gifメモ :
    Windows のアプリケーション ログにメッセージを書き込む場合は、データベース エンジンのエラー ログ ファイルにも同じ内容が書き込まれます。
  • [ @parameter_value = ]****'value'
    @parameter と共に使用して、エラーを Microsoft Windows のアプリケーション ログに書き込むことを指定します。value のデータ型は varchar(5) で、既定値はありません。true の場合は、エラーは常に Windows のアプリケーション ログに書き込まれます。false の場合、常に Windows のアプリケーション ログに書き込まれるわけではありませんが、エラーの発生状況によっては書き込まれることもあります。value を指定する場合は、
    @parameter** に write_to_log も指定する必要があります。

結果セット

ありません。

解説

sp_altermessage に WITH_LOG オプションを付けると、RAISERROR WITH LOG パラメータと同じように機能します。ただし、sp_altermessage では、既存メッセージの記録動作を変更できる点が異なります。メッセージを WITH_LOG に変更すると、ユーザーがエラーをどのような方法で起こしたかとは無関係に、メッセージは常に Windows のアプリケーション ログに書き込まれます。WITH_LOG オプションなしで RAISERROR を実行しても、Windows のアプリケーション ログにエラーが書き込まれます。

システム メッセージは、sp_altermessage を使用して変更することはできません。

権限

serveradmin 固定サーバー ロールのメンバシップである必要があります。

戻り値

成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。

次の例では、既存のメッセージ 55001 のログを Windows のアプリケーション ログに記録します。

sp_altermessage 55001, 'WITH_LOG', 'true';
GO

参照

関連項目

RAISERROR (Transact-SQL)
sp_addmessage (Transact-SQL)
sp_dropmessage (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)

その他の技術情報

RAISERROR の使用

ヘルプおよび情報

SQL Server 2005 の参考資料の入手