sp_notify_operator (Transact-SQL)

適用於:SQL Server

使用 Database Mail 將電子郵件訊息傳送給操作員。

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' 用來傳送訊息的 Database Mail 設定檔名稱。 profilenamenvarchar(128)。 如果未 指定 profilename ,則會使用預設的 Database Mail 配置檔。

[ @id = ] id 要傳送訊息之運算子的標識碼。 idint,預設值為 NULL。 必須指定其中一個標識碼名稱

[ @name = ] 'name' 要傳送訊息的運算符名稱。 namenvarchar(128),預設值為 NULL。 必須指定其中一個標識碼名稱

注意

操作員必須先定義電子郵件位址,才能接收訊息。

[ @subject = ] 'subject' 電子郵件訊息的主旨。 subjectnvarchar(256), 沒有預設值。

[ @body = ] 'message' 電子郵件訊息的本文。 messagenvarchar(max), 沒有預設值。

[ @file_attachments = ] 'attachment' 要附加至電子郵件訊息的檔名。 attachmentnvarchar(512),沒有預設值。

[ @mail_database = ] 'mail_host_database' 指定郵件主機資料庫的名稱。 mail_host_database是 nvarchar(128)如果未指定mail_host_database則預設會使用 msdb 資料庫。

傳回碼值

0 (成功) 或 1 (失敗)

備註

將指定的訊息傳送至指定之操作員的電子郵件位址。 如果操作員未設定電子郵件位址,則傳回錯誤。

必須先設定 Database Mail 和郵件主資料庫,才能將通知傳送給操作員。

權限

依預設,只有 系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。 其他使用者必須獲授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

如需這些角色權限的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色

範例

下列範例會使用 AdventureWorks Administrator Database Mail 設定檔,將通知電子郵件傳送給操作員François Ajenstat。 電子郵件的主旨為 Test Notification。 電子郵件訊息包含「這是透過電子郵件測試通知」的句子。

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 Agent 預存程序 (Transact-SQL)
sp_add_operator (Transact-SQL)
sp_help_operator (Transact-SQL)
sp_delete_operator (Transact-SQL)