Teilen über


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 (Transact-SQL) erstellt wurde und ein Datenbankprofil mit sysmail_add_profile_sp (Transact-SQL) 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.

Beachten Sie, dass diese gespeicherte Prozedur die Sequenznummer eines Kontos, das bereits dem angegebenen Profil zugeordnet ist, nicht ändert. Weitere Informationen zum Aktualisieren der Sequenznummer eines Kontos finden Sie unter sysmail_update_profileaccount_sp (Transact-SQL).

Ü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_spParameters 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 msdbvorhanden 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 Accountzugeordnet. 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;