Share via


sysmail_update_profileaccount_sp (Transact-SQL)

Gilt für:SQL Server

Aktualisiert die Sequenznummer eines Kontos innerhalb eines Datenbank-E-Mail-Profils.

Transact-SQL-Syntaxkonventionen

Syntax

sysmail_update_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 des Profils, das aktualisiert 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 des Profils, das aktualisiert werden soll. @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 ID des Kontos, das aktualisiert 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 zu aktualisierenden Kontos. @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 neue Sequenznummer für das Konto. @sequence_number ist "int" ohne Standard. Über die Sequenznummer wird die Reihenfolge festgelegt, in der Konten im Profil verwendet werden.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Resultset

Keine.

Hinweise

Gibt einen Fehler zurück, wenn das angegebene Konto nicht mit dem angegebenen Profil verknüpft ist.

Über die Sequenznummer wird die Reihenfolge festgelegt, in der Konten im Profil von Datenbank-E-Mail verwendet werden. Bei einer neuen E-Mail-Nachricht beginnt Datenbank-E-Mail mit dem Konto, das die niedrigste Sequenznummer ist. 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 schlägt fehl. Wenn das Konto mit der höchsten Sequenznummer einen Fehler erzeugt, dann wird die E-Mail-Nachricht nicht versandt.

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_update_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 die Sequenznummer des Kontos Admin-BackupServer innerhalb des Profils AdventureWorks Administrator in der msdb Datenbank geändert. Nach der Ausführung dieses Codes lautet die Sequenznummer für das Konto 3, was bedeutet, dass es verwendet wird, wenn die beiden ersten Konten einen Fehler erzeugen.

EXEC msdb.dbo.sysmail_update_profileaccount_sp
    @profile_name = 'AdventureWorks Administrator',
    @account_name = 'Admin-BackupServer',
    @sequence_number = 3;