sp_notify_operator (Transact-SQL)
適用対象: SQL Server
データベース メールを使用してオペレーターに電子メール メッセージを送信します。
構文
sp_notify_operator
[ [ @profile_name = ] N'profile_name' ]
[ , [ @id = ] id ]
[ , [ @name = ] N'name' ]
[ , [ @subject = ] N'subject' ]
[ , [ @body = ] N'body' ]
[ , [ @file_attachments = ] N'file_attachments' ]
[ , [ @mail_database = ] N'mail_database' ]
[ ; ]
引数
[ @profile_name = ] N'profile_name'
メッセージの送信に使用するデータベース メール プロファイルの名前。 @profile_name は sysname で、既定値は NULL
です。 @profile_nameが指定されていない場合は、既定のデータベース メール プロファイルが使用されます。
[ @id = ] id
メッセージ送信先のオペレーターの ID を指定します。 @id は int で、既定値は NULL
です。
@idまたは@nameのいずれかを指定する必要があります。
[ @name = ] N'name'
メッセージを送信するオペレーターの名前。 @name は sysname で、既定値は NULL
です。
@idまたは@nameのいずれかを指定する必要があります。
メッセージを受信する前に、オペレーターに電子メール アドレスを定義する必要があります。
[ @subject = ] N'subject'
電子メール メッセージの件名。 @subject は nvarchar(256) で、既定値は NULL
です。
[ @body = ] N'body'
電子メール メッセージの本文。 @body は nvarchar(max) で、既定値は NULL
です。
[ @file_attachments = ] N'file_attachments'
電子メール メッセージに添付するファイルの名前を指定します。 @file_attachments は nvarchar(512) で、既定値は NULL
です。
[ @mail_database = ] N'mail_database'
メール ホスト データベースの名前を指定します。 @mail_database は sysname で、既定値は msdb
です。 @mail_databaseが指定されていない場合、msdb
データベースは既定で使用されます。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
ここでは、指定したメッセージが、指定したオペレーターの電子メール アドレスに送信されます。 オペレーターに電子メール アドレスが構成されていない場合、 sp_notify_operator
はエラーを返します。
データベース メールとメール ホスト データベースは、オペレーターに通知を送信する前に構成する必要があります。
アクセス許可
この手順では EXECUTE
アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
他のユーザーには、msdb
データベース内の次SQL Server エージェント固定データベース ロールのいずれかを付与する必要があります。
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
例
次の例では、データベース メール プロファイル François Ajenstat
を使用して、電子メールをオペレーター AdventureWorks Administrator
に送信します。 電子メールの件名は 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