sysmail_add_profileaccount_sp (Transact-SQL)
S'applique à : SQL Server
Ajoute un compte de messagerie de base de données à un profil de messagerie de base de données. Exécutez sysmail_add_profileaccount_sp
une fois qu’un compte de base de données est créé avec sysmail_add_account_sp et qu’un profil de base de données est créé avec sysmail_add_profile_sp.
Conventions de la syntaxe Transact-SQL
Syntaxe
sysmail_add_profileaccount_sp { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
{ [ @account_id = ] account_id | [ @account_name = ] 'account_name' }
[ , [ @sequence_number = ] sequence_number ]
[ ; ]
Arguments
[ @profile_id = ] profile_id
ID de profil auquel ajouter le compte. @profile_id est int, avec la valeur par défaut NULL
. Les @profile_id ou les @profile_name doivent être spécifiés.
[ @profile_name = ] 'profile_name'
Nom du profil auquel le compte est ajouté. @profile_name est sysname, avec la valeur par défaut NULL
. Les @profile_id ou les @profile_name doivent être spécifiés.
[ @account_id = ] account_id
ID de compte à ajouter au profil. @account_id est int, avec la valeur par défaut NULL
. La @account_id ou la @account_name doit être spécifiée.
[ @account_name = ] 'account_name'
Nom du compte à ajouter au profil. @account_name est sysname, avec la valeur par défaut NULL
. La @account_id ou la @account_name doit être spécifiée.
[ @sequence_number = ] sequence_number
Numéro de séquence du compte dans le profil. @sequence_number est int, sans valeur par défaut. Le numéro de séquence détermine l'ordre dans lequel les comptes sont utilisés dans le profil.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Notes
Le profil et le compte doivent déjà exister. Sinon, la procédure stockée retourne une erreur.
Cette procédure stockée ne modifie pas le numéro de séquence d’un compte déjà associé au profil spécifié. Pour plus d’informations sur la mise à jour du numéro de séquence d’un compte, consultez sysmail_update_profileaccount_sp.
Le numéro de séquence détermine l'ordre d'utilisation des comptes de messagerie de base de données dans le profil. Pour un nouveau message électronique, la messagerie de base de données démarre avec le compte dont le numéro de séquence est le plus petit. Si ce compte échoue, Database Mail utilise le compte avec le numéro de séquence le plus élevé suivant, et ainsi de suite, jusqu’à ce que la messagerie de base de données envoie le message correctement, ou que le compte avec le numéro de séquence le plus élevé échoue. Si le compte avec le numéro de séquence le plus élevé échoue, la messagerie de base de données interrompt les tentatives d’envoi du courrier pour la durée configurée dans le AccountRetryDelay
paramètre , sysmail_configure_sp
puis démarre le processus de tentative d’envoi du courrier à nouveau, en commençant par le numéro de séquence le plus bas. Utilisez le AccountRetryAttempts
paramètre , pour configurer le nombre de fois où le processus de messagerie externe tente d’envoyer le message électronique à l’aide de sysmail_configure_sp
chaque compte dans le profil spécifié.
Si plusieurs comptes possèdent le même numéro de séquence, la messagerie de base de données utilise uniquement l'un d'eux pour un message électronique donné. Dans ce cas, la messagerie de base de données exclut toute garantie en ce qui concerne le compte utilisé pour ce numéro de séquence ou l'utilisation du même compte d'un message à un autre.
La procédure sysmail_add_profileaccount_sp
stockée se trouve dans la msdb
base de données et appartient au schéma dbo . La procédure doit être exécutée avec un nom en trois parties si la base de données actuelle n’est pas msdb
.
autorisations
Vous pouvez accorder EXECUTE
des autorisations sur cette procédure, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.
Exemples
L'exemple suivant associe le profil AdventureWorks Administrator
au compte Audit Account
. Le compte d’audit a un nombre séquentiel de 1
.
EXEC msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Administrator',
@account_name = 'Audit Account',
@sequence_number = 1;