sp_notify_operator (Transact-SQL)
適用於:SQL Server
使用 Database Mail 將電子郵件訊息傳送給操作員。
語法
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_database,msdb
預設會使用資料庫。
傳回碼值
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