sp_notify_operator (Transact-SQL)
利用 Database Mail 將電子郵件訊息傳送給操作員。
語法
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 和郵件主機資料庫,才能將通知傳給操作員。如需詳細資訊,請參閱<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