sp_notify_operator (Transact-SQL)
適用於:SQL Server
使用 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。 必須指定其中一個標識碼或名稱。
[ @name = ] 'name'
要傳送訊息的運算符名稱。 name 為 nvarchar(128),預設值為 NULL。 必須指定其中一個標識碼或名稱。
注意
操作員必須先定義電子郵件位址,才能接收訊息。
[ @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
。 電子郵件訊息包含「這是透過電子郵件測試通知」的句子。
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)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應