共用方式為


sp_notify_operator (Transact-SQL)

適用於:SQL Server

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

Transact-SQL 語法慣例

語法

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'

用來傳送訊息的 Database Mail 設定檔名稱。 @profile_name為 sysname,預設值為 NULL。 如果未 指定@profile_name ,則會使用預設的 Database Mail 配置檔。

[ @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_databasemsdb預設會使用資料庫。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

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

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

權限

此預存程式是由 db_owner 角色所擁有。 您可以授與 EXECUTE 任何用戶的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。

其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb

  • 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