sysmail_add_profileaccount_sp (Transact-SQL)
Gilt für: SQL Server
Fügt einem Profil für die Datenbank-E-Mail ein Konto für die Datenbank-E-Mail hinzu. Wird ausgeführt sysmail_add_profileaccount_sp
, nachdem ein Datenbankkonto mit sysmail_add_account_sp erstellt wurde und ein Datenbankprofil mit sysmail_add_profile_sp erstellt wird.
Transact-SQL-Syntaxkonventionen
Syntax
sysmail_add_profileaccount_sp { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
{ [ @account_id = ] account_id | [ @account_name = ] 'account_name' }
[ , [ @sequence_number = ] sequence_number ]
[ ; ]
Argumente
[ @profile_id = ] profile_id
Die Profil-ID, der das Konto hinzugefügt werden soll. @profile_id ist int, mit einem Standardwert von NULL
. Entweder die @profile_id oder die @profile_name müssen angegeben werden.
[ @profile_name = ] 'profile_name'
Der Profilname, dem das Konto hinzugefügt wird. @profile_name ist "sysname" mit der Standardeinstellung "NULL
. Entweder die @profile_id oder die @profile_name müssen angegeben werden.
[ @account_id = ] account_id
Die Konto-ID, die dem Profil hinzugefügt werden soll. @account_id ist int, mit einem Standardwert von NULL
. Entweder die @account_id oder die @account_name müssen angegeben werden.
[ @account_name = ] 'account_name'
Der Name des Kontos, das dem Profil hinzugefügt wird. @account_name ist "sysname" mit der Standardeinstellung "NULL
. Entweder die @account_id oder die @account_name müssen angegeben werden.
[ @sequence_number = ] sequence_number
Die Sequenznummer des Kontos innerhalb des Profils. @sequence_number ist "int" ohne Standard. Über die Sequenznummer wird die Reihenfolge festgelegt, in der Konten im Profil verwendet werden.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
Sowohl das Profil als auch das Konto müssen bereits vorhanden sein. Andernfalls gibt die gespeicherte Prozedur einen Fehler zurück.
Diese gespeicherte Prozedur ändert nicht die Sequenznummer eines Kontos, das dem angegebenen Profil bereits zugeordnet ist. Weitere Informationen zum Aktualisieren der Sequenznummer eines Kontos finden Sie unter sysmail_update_profileaccount_sp.
Über die Sequenznummer wird die Reihenfolge festgelegt, in der Konten im Profil von Datenbank-E-Mail verwendet werden. Für eine neue E-Mail-Nachricht beginnt Datenbank-E-Mail mit dem Konto mit der niedrigsten Sequenznummer. Wenn dieses Konto fehlschlägt, verwendet Datenbank-E-Mail das Konto mit der nächsten höchsten Sequenznummer usw., bis entweder Datenbank-E-Mail die Nachricht erfolgreich sendet oder das Konto mit der höchsten Sequenznummer fehlschlägt. Wenn das Konto mit der höchsten Sequenznummer fehlschlägt, hält die Datenbank-E-Mail versuche an, die E-Mail für die im Parameter des sysmail_configure_sp
Parameters konfigurierte AccountRetryDelay
Zeit zu senden, und startet dann den Vorgang, die E-Mail erneut zu senden, beginnend mit der niedrigsten Sequenznummer. Verwenden Sie den AccountRetryAttempts
Parameter von sysmail_configure_sp
, um zu konfigurieren, wie oft der externe E-Mail-Prozess versucht, die E-Mail-Nachricht mithilfe der einzelnen Konten im angegebenen Profil zu senden.
Sind mehrere Konten mit der gleichen Sequenznummer vorhanden, verwendet Datenbank-E-Mail nur eines dieser Konten für eine bestimmte E-Mail-Nachricht. In diesem Fall kann Datenbank-E-Mail nicht sicherstellen, welches der Konten für diese Sequenznummer verwendet wird oder dass für die einzelnen Nachrichten jeweils dasselbe Konto verwendet wird.
Die gespeicherte Prozedur sysmail_add_profileaccount_sp
befindet sich in der msdb
Datenbank und befindet sich im Besitz des dbo-Schemas . Die Prozedur muss mit einem dreiteiligen Namen ausgeführt werden, wenn die aktuelle Datenbank nicht msdb
vorhanden ist.
Berechtigungen
Diese gespeicherte Prozedur gehört der db_owner Rolle. Sie können berechtigungen für jeden Benutzer erteilen EXECUTE
, diese Berechtigungen können jedoch während eines SQL Server-Upgrades außer Kraft gesetzt werden.
Beispiele
Im folgenden Beispiel wird das Profil AdventureWorks Administrator
dem Konto Audit Account
zugeordnet. Das Überwachungskonto weist eine Sequenznummer von 1
.
EXEC msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Administrator',
@account_name = 'Audit Account',
@sequence_number = 1;