Condividi tramite


sp_notify_operator (Transact-SQL)

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

Icona di collegamento a un argomentoConvenzioni della 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 utilizzare per inviare il messaggio. profilename è di tipo nvarchar(128). Se non si specifica l'argomento profilename, viene utilizzato il profilo di Posta elettronica database predefinito.

  • [ @id= ] id
    Identificatore dell'operatore a cui inviare il messaggio. id è di tipo int e il valore predefinito è NULL. È necessario specificare l'argomento id o l'argomento name.

  • [ @name= ] 'name'
    Nome dell'operatore a cui inviare il messaggio. name è di tipo nvarchar(128) e il valore predefinito è NULL. È necessario specificare l'argomento id o l'argomento name.

    [!NOTA]

    Affinché un operatore possa ricevere messaggi, è necessario innanzitutto definire il relativo indirizzo di posta elettronica.

  • [ @subject= ] 'subject'
    Oggetto del messaggio di posta elettronica. subject è di tipo nvarchar(256) e non prevede alcun valore predefinito.

  • [ @body= ] 'message'
    Corpo del messaggio di posta elettronica. message è di tipo nvarchar(max) e non prevede alcun valore predefinito.

  • [ @file_attachments= ] 'attachment'
    Nome del file da allegare al messaggio di posta elettronica. attachment è di tipo nvarchar(512) e non prevede alcun valore predefinito.

  • [ @mail_database= ] 'mail_host_database'
    Specifica il nome del computer host. mail_host_database è di tipo nvarchar(128). Se non si specifica alcun database per mail_host_database, viene utilizzato il database msdb per impostazione predefinita.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

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. Per ulteriori informazioni, vedere Procedure per Posta elettronica database.

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 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