sp_notify_operator (Transact-SQL)

利用 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 設定檔名稱。 profilename 是 nvarchar(128)。 如果未指定 profilename,則使用預設 Database Mail 設定檔。

  • [ @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 (失敗)

備註

將指定的訊息傳送給指定操作員的電子郵件地址。 如果未設定操作員的電子郵件地址,就會傳回錯誤。

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

權限

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

如需有關這些角色權限的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。

範例

下列範例會利用 AdventureWorks Administrator Database Mail 設定檔,將通知電子郵件傳給 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 Agent 預存程序 (Transact-SQL)

sp_add_operator (Transact-SQL)

sp_help_operator (Transact-SQL)

sp_delete_operator (Transact-SQL)