Partage via


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 = ] N'profile_name' ]
    [ , [ @id = ] id ]
    [ , [ @name = ] N'name' ]
    [ , [ @subject = ] N'subject' ]
    [ , [ @body = ] N'body' ]
    [ , [ @file_attachments = ] N'file_attachments' ]
    [ , [ @mail_database = ] N'mail_database' ]
[ ; ]

Arguments

[ @profile_name = ] N’profile_name'

Nom du profil de la messagerie de base de données à utiliser pour envoyer le message. @profile_name est sysname, avec la valeur par défaut NULL. Si @profile_name 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 destinataire du message. @id est int, avec la valeur par défaut NULL.

L’une des @id ou @name doit être spécifiée.

[ @name = ] N’name'

Nom de l'opérateur destinataire du message. @name est sysname, avec la valeur par défaut NULL.

L’une des @id ou @name doit être spécifiée.

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

[ @subject = ] N’subject'

Objet du message électronique. @subject est nvarchar(256), avec la valeur par défaut NULL.

[ @body = ] N’body'

Corps du message électronique. @body est nvarchar(max), avec la valeur par défaut NULL.

[ @file_attachments = ] N’file_attachments'

Nom d'un fichier à joindre au message électronique. @file_attachments est nvarchar(512), avec la valeur par défaut NULL.

[ @mail_database = ] N’mail_database'

Spécifie le nom de la base de données hôte de courrier. @mail_database est sysname, avec la valeur par défaut msdb. Si aucune @mail_database n’est spécifiée, la msdb base de données est utilisée par défaut.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Notes

Envoie le message spécifié à l'adresse de messagerie de l'opérateur choisi. Si l’opérateur n’a pas d’adresse de messagerie configurée, sp_notify_operator retourne une erreur.

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

Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE des autorisations pour n’importe quel utilisateur, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.

D’autres utilisateurs doivent disposer de l’un des rôles de base de données fixes SQL Server Agent suivants dans la msdb base de données :

  • 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