次の方法で共有


sp_notify_operator (Transact-SQL)

データベース メールを使用して、オペレータに電子メール メッセージを送信します。

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

構文

sp_notify_operator
    [ @profile_name = ] 'profilename' ,
    [ @id = ] id ,
    [ @name = ] 'name' ,
    [ @subject = ] 'subject' ,
        [ @body = ] 'message' ,
    [ @file_attachments = ] 'attachment'
    [ @mail_database = ] 'mail_host_database'

引数

  • [ @profile_name= ] 'profilename'
    メッセージの送信に使用するデータベース メール プロファイルの名前を指定します。profilename のデータ型は nvarchar(128) です。profilename を指定しない場合、既定のデータベース メール プロファイルが使用されます。

  • [ @id= ] id
    メッセージ送信先のオペレータの ID を指定します。id のデータ型は int で、既定値は NULL です。id または name のいずれかを指定する必要があります。

  • [ @name= ] 'name'
    メッセージ送信先のオペレータの名前を指定します。name のデータ型は nvarchar(128) で、既定値は NULL です。id または name のいずれかを指定する必要があります。

    注意注意

    オペレータがメッセージを受信するには、オペレータの電子メール アドレスが定義されている必要があります。

  • [ @subject= ] 'subject'
    電子メール メッセージの件名を指定します。subject のデータ型は nvarchar(256) で、既定値はありません。

  • [ @body= ] 'message'
    電子メール メッセージの本文を指定します。message のデータ型は nvarchar(max) で、既定値はありません。

  • [ @file_attachments= ] 'attachment'
    電子メール メッセージに添付するファイルの名前を指定します。attachment のデータ型は nvarchar(512) で、既定値はありません。

  • [ @mail_database= ] 'mail_host_database'
    メール ホスト データベースの名前を指定します。mail_host_database のデータ型は nvarchar(128) です。mail_host_database を指定しない場合、既定では msdb データベースが使用されます。

リターン コードの値

0 (成功) または 1 (失敗)

説明

ここでは、指定したメッセージが、指定したオペレータの電子メール アドレスに送信されます。オペレータに電子メール アドレスが構成されていない場合、エラーが返されます。

通知をオペレータに送信するには、データベース メールとメール ホスト データベースを構成する必要があります。詳細については、「データベース メールの操作方法に関するトピック」を参照してください。

権限

既定では、このストアド プロシージャを実行できるのは、sysadmin 固定サーバー ロールのメンバです。他のユーザーには、msdb データベースの次のいずれかの SQL Server エージェント固定データベース ロールが許可されている必要があります。

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

これらのロールの権限の詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。

次の例では、データベース メール プロファイル AdventureWorks Administrator を使用して、電子メールをオペレータ François Ajenstat に送信します。電子メールの件名は Test Notification です。電子メール メッセージには、"This is a test of notification via e-mail." という文が記載されています。

USE msdb ;
GO

EXEC dbo.sp_notify_operator
   @profile_name = N'AdventureWorks Administrator',
   @name = N'François Ajenstat',
   @subject = N'Test Notification',
   @body = N'This is a test of notification via e-mail.' ;
GO