次の方法で共有


sp_notify_operator (Transact-SQL)

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

適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)

トピック リンク アイコン 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

関連項目

参照

SQL Server エージェントのストアド プロシージャ (Transact-SQL)

sp_add_operator (Transact-SQL)

sp_help_operator (Transact-SQL)

sp_delete_operator (Transact-SQL)