Share via


sp_notify_operator (Transact-SQL)

Envoie un message électronique à un opérateur utilisant la messagerie de base de données.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

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

Arguments

  • [ @profile_name= ] 'profilename'
    Nom du profil de la messagerie de base de données à utiliser pour envoyer le message. profilename est de type nvarchar(128). Si profilename n'est pas spécifié, le profil par défaut de la messagerie de base de données est utilisé.

  • [ @id= ] id
    Identificateur de l'opérateur destinataire du message. id est de type int, avec NULL comme valeur par défaut. id ou name doit être spécifié.

  • [ @name= ] 'name'
    Nom de l'opérateur destinataire du message. name est de type nvarchar(128), avec NULL comme valeur par défaut. id ou name doit être spécifié.

    [!REMARQUE]

    Une adresse de messagerie doit être définie pour l'opérateur pour qu'il puisse recevoir des messages.

  • [ @subject= ] 'subject'
    Objet du message électronique. subject est de type nvarchar(256) et n'a pas de valeur par défaut.

  • [ @body= ] 'message'
    Corps du message électronique. message est de type nvarchar(max) et n'a pas de valeur par défaut.

  • [ @file_attachments= ] 'attachment'
    Nom d'un fichier à joindre au message électronique. attachment est de type nvarchar(512) et n'a pas de valeur par défaut.

  • [ @mail_database= ] 'mail_host_database'
    Nom de la base de données hôte de courrier. mail_host_database est de type nvarchar(128). Si aucun mail_host_database n'est spécifié, la base de données msdb est utilisée par défaut.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Notes

Envoie le message spécifié à l'adresse de messagerie de l'opérateur choisi. Si l'opérateur ne dispose pas d'une adresse de messagerie, une erreur est renvoyée.

La messagerie de base de données et une base de données hôte de courrier doivent être configurées avant qu'une notification puisse être envoyée à un opérateur. Pour plus d'informations, consultez Rubriques des procédures relatives à la messagerie de base de données.

Autorisations

Seuls les membres du rôle de serveur fixe sysadmin peuvent exécuter cette procédure stockée. Les autres utilisateurs doivent disposer de l'un des rôles de base de données fixes SQL Server Agent suivants dans la base de données msdb.

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Pour en savoir plus sur les autorisations de ces rôles, consultez Rôles de base de données fixes de l'Agent SQL Server.

Exemple

L'exemple suivant envoie une notification par courrier électronique à l'opérateur François Ajenstat à l'aide du profil de messagerie de la base de données AdventureWorks Administrator. Le message électronique a pour objet Test Notification. Le message électronique contient la phrase « 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