sp_notify_operator (Transact-SQL)

S’applique à :SQL Server

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

Conventions de la syntaxe 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 messagerie de base de données à utiliser pour envoyer le message. profilename est nvarchar(128). Si profilename n’est pas spécifié, le profil de messagerie de base de données par défaut est utilisé.

[ @id = ] id Identificateur de l’opérateur à envoyer le message. id est int, avec une valeur par défaut null. Un id ou un nom doit être spécifié.

[ @name = ] 'name' Nom de l’opérateur à envoyer au message. name is nvarchar(128), with a default of NULL. Un id ou un nom doit être spécifié.

Remarque

Une adresse de messagerie doit être définie pour l’opérateur avant de pouvoir recevoir des messages.

[ @subject = ] 'subject' Objet du message électronique. l’objet est nvarchar(256) sans valeur par défaut.

[ @body = ] 'message' Corps du message électronique. le message est nvarchar(max) sans valeur par défaut.

[ @file_attachments = ] 'attachment' Nom d’un fichier à joindre au message électronique. la pièce jointe est nvarchar(512), sans valeur par défaut.

[ @mail_database = ] 'mail_host_database' Spécifie le nom de la base de données hôte de messagerie. mail_host_database est nvarchar(128). Si aucune mail_host_database n’est spécifiée, la base de données msdb est utilisée par défaut.

Codet de retour

0 (réussite) 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.

Autorisations

Par défaut, les membres du rôle 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 suivants de SQL Server Agent 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.

Exemples

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  

Voir aussi

Procédures stockées sql Server Agent (Transact-SQL)
sp_add_operator (Transact-SQL)
sp_help_operator (Transact-SQL)
sp_delete_operator (Transact-SQL)