sp_notify_operator (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