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