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
(erfolgreich) 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 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 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;