sp_notify_operator (Transact-SQL)sp_notify_operator (Transact-SQL)

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

データベース メールを使用してオペレーターに電子メール メッセージを送信します。Sends an e-mail message to an operator using Database Mail.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions


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


[ @profile_name = ] 'profilename' メッセージの送信に使用するデータベース メール プロファイルの名前。[ @profile_name = ] 'profilename' The name of the Database Mail profile to use to send the message. profilenamenvarchar (128) します。profilename is nvarchar(128). 場合profilenameが指定されていない、既定のデータベース メール プロファイルを使用します。If profilename is not specified, the default Database Mail profile is used.

[ @id = ] id メッセージを送信するオペレーターの識別子。[ @id = ] id The identifier for the operator to send the message to. idint、既定値は NULL です。id is int, with a default of NULL. いずれかのidまたは名前指定する必要があります。One of id or name must be specified.

[ @name = ] 'name' メッセージを送信するオペレーターの名前。[ @name = ] 'name' The name of the operator to send the message to. 名前nvarchar (128) 、既定値は NULL です。name is nvarchar(128), with a default of NULL. いずれかのidまたは名前指定する必要があります。One of id or name must be specified.

注: メッセージを受信する前に、オペレーターの電子メール アドレスを定義する必要があります。NOTE: An e-mail address must be defined for the operator before they can receive messages.

[ @subject = ] 'subject' 電子メール メッセージの件名。[ @subject = ] 'subject' The subject for the e-mail message. サブジェクトnvarchar (256) 既定値はありません。subject is nvarchar(256) with no default.

[ @body = ] 'message' 電子メール メッセージの本文。[ @body = ] 'message' The body of the e-mail message. メッセージnvarchar (max) 既定値はありません。message is nvarchar(max) with no default.

[ @file_attachments = ] 'attachment' 電子メール メッセージに添付するファイルの名前。[ @file_attachments = ] 'attachment' The name of a file to attach to the e-mail message. 添付ファイルnvarchar (512) 、既定値はありません。attachment is nvarchar(512), with no default.

[ @mail_database = ] 'mail_host_database' メール ホスト データベースの名前を指定します。[ @mail_database = ] 'mail_host_database' Specifies the name of the mail host database. mail_host_database is nvarchar(128) .mail_host_database is nvarchar(128). ない場合はmail_host_databaseが指定されている、 msdbデータベースが既定で使用されます。If no mail_host_database is specified, the msdb database is used by default.

リターン コードの値Return Code Values

0 (成功) または1 (失敗)0 (success) or 1 (failure)


ここでは、指定したメッセージが、指定したオペレーターの電子メール アドレスに送信されます。Sends the message specified to the e-mail address of the operator specified. オペレーターに電子メール アドレスが構成されていない場合、エラーが返されます。If the operator has no e-mail address configured, returns an error.

オペレーターに通知を送信できる前に、データベース メールとメール ホスト データベースを構成する必要があります。Database Mail and a mail host database must be configured before a notification can be sent to an operator.


既定では、このストアド プロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーです。By default, members of the sysadmin fixed server role can execute this stored procedure. 他のユーザーには、 SQL ServerSQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。Other users must be granted one of the following SQL ServerSQL Server Agent fixed database roles in the msdb database:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.


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

USE msdb ;  
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.' ;  

関連項目See also

SQL Server エージェント ストアド プロシージャ(TRANSACT-SQL) SQL Server Agent Stored Procedures (Transact-SQL)
sp_add_operator (TRANSACT-SQL) sp_add_operator (Transact-SQL)
sp_help_operator (TRANSACT-SQL) sp_help_operator (Transact-SQL)
sp_delete_operator (TRANSACT-SQL)sp_delete_operator (Transact-SQL)