sp_notify_operator (Transact-SQL)

Si applica a:SQL Server

Invia un messaggio di posta elettronica a un operatore tramite Posta elettronica database.

Convenzioni di sintassi Transact-SQL

Sintassi

  
sp_notify_operator  
    [ @profile_name = ] 'profilename' ,  
    [ @id = ] id ,  
    [ @name = ] 'name' ,  
    [ @subject = ] 'subject' ,  
    [ @body = ] 'message' ,  
    [ @file_attachments = ] 'attachment'  
    [ @mail_database = ] 'mail_host_database'  

Argomenti

[ @profile_name = ] 'profilename'Nome del profilo di Posta elettronica database da usare per inviare il messaggio. profilename è nvarchar(128). Se profilename non è specificato, viene utilizzato il profilo di Posta elettronica database predefinito.

[ @id = ] id Identificatore dell'operatore a cui inviare il messaggio. id è int, con un valore predefinito NULL. È necessario specificare un id o un nome.

[ @name = ] 'name' Nome dell'operatore a cui inviare il messaggio. name è nvarchar(128), con valore predefinito NULL. È necessario specificare un id o un nome.

Nota

Per poter ricevere messaggi, è necessario definire un indirizzo di posta elettronica per l'operatore.

[ @subject = ] 'subject' Oggetto del messaggio di posta elettronica. subject è nvarchar(256) senza impostazione predefinita.

[ @body = ] 'message' Corpo del messaggio di posta elettronica. message è nvarchar(max) senza impostazione predefinita.

[ @file_attachments = ] 'attachment' Nome di un file da allegare al messaggio di posta elettronica. attachment è nvarchar(512), senza impostazione predefinita.

[ @mail_database = ] 'mail_host_database' Specifica il nome del database host di posta elettronica. mail_host_database è nvarchar(128). Se non viene specificata alcuna mail_host_database , il database msdb viene utilizzato per impostazione predefinita.

Valori del codice restituito

0 (esito positivo) o 1 (errore)

Osservazioni:

Invia il messaggio specificato all'indirizzo di posta elettronica dell'operatore. Se non è stato configurato un indirizzo di posta elettronica per l'operatore, viene restituito un errore.

Per poter inviare una notifica a un operatore, è necessario innanzitutto configurare Posta elettronica database e un database host della posta elettronica.

Autorizzazioni

Per impostazione predefinita, questa stored procedure può essere eseguita dai membri del ruolo predefinito del server sysadmin . Gli altri utenti devono appartenere a uno dei seguenti ruoli predefiniti del database di SQL Server Agent nel database msdb:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Per informazioni dettagliate sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.

Esempi

Nell'esempio seguente viene inviato un messaggio di notifica all'operatore François Ajenstat tramite il profilo AdventureWorks Administrator di Posta elettronica database. L'oggetto del messaggio di posta elettronica è Test Notification. The e-mail message contains the sentence, "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  

Vedi anche

Stored procedure di SQL Server Agent (Transact-SQL)
sp_add_operator (Transact-SQL)
sp_help_operator (Transact-SQL)
sp_delete_operator (Transact-SQL)