sysmail_update_principalprofile_sp (Transact-SQL)
Aktualisiert die Informationen über eine Zuordnung zwischen einem Prinzipal und einem Profil.
Syntax
sysmail_update_principalprofile_sp { @principal_id = principal_id | @principal_name = 'principal_name' } ,
{ [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' } ,
[ @is_default = ] 'is_default'
Argumente
[ @principal_id = ] principal_id
Entspricht der ID des Datenbankbenutzers oder der Rolle in der msdb-Datenbank für die zu ändernde Zuordnung. principal_id ist vom Datentyp int und hat den Standardwert NULL.Es muss entweder principal_id oder principal_name angegeben werden.[ @principal_name = ] 'principal_name'
Entspricht dem Namen des Datenbankbenutzers oder der Rolle in der msdb-Datenbank für die zu aktualisierende Zuordnung. principal_name ist vom Datentyp sysname und hat den Standardwert NULL.Es kann entweder principal_id oder principal_name angegeben werden.[ @profile_id = ] profile_id
Die ID des Profils für die zu ändernde Zuordnung. profile_id ist vom Datentyp int und hat den Standardwert NULL. Es muss entweder profile_id oder profile_name angegeben werden.[ @profile_name = ] 'profile_name'
Der Name des Profils für die zu ändernde Zuordnung. profile_name ist vom Datentyp sysname und hat den Standardwert NULL. Es muss entweder profile_id oder profile_name angegeben werden.[ @is_default = ] 'is_default'
Gibt an, ob dieses Profil das Standardprofil für den Datenbankbenutzer ist. Ein Datenbankbenutzer kann nur ein Standardprofil besitzen. is_default ist vom Datentyp bit und hat keinen Standardwert.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Keine
Hinweise
Mit dieser gespeicherten Prozedur wird festgelegt, ob das angegebene Profil das Standardprofil für den Datenbankbenutzer ist. Ein Datenbankbenutzer kann nur ein privates Standardprofil besitzen.
Wenn der Prinzipalname für die Zuordnung auf public festgelegt ist oder die Prinzipal-ID für die Zuordnung den Wert 0 hat, wird das öffentliche Profil von dieser gespeicherten Prozedur geändert. Es kann nur ein öffentliches Standardprofil vorhanden sein.
Wenn @is_default auf '1' festgelegt ist und der Prinzipal mehreren Profilen zugeordnet ist, wird das angegebene Profil als Standardprofil für den Prinzipal verwendet. Das zuvor als Standardprofil verwendete Profil ist dem Prinzipal weiter zugeordnet, es ist jedoch nicht mehr als Standardprofil festgelegt.
Die gespeicherte Prozedur sysmail_update_principalprofile_sp wird in der msdb-Datenbank gespeichert und befindet sich im Besitz des dbo-Schemas. Handelt es sich bei der aktuellen Datenbank nicht um msdb, muss die Prozedur mit einem dreiteiligen Namen ausgeführt werden.
Berechtigungen
Über die Ausführungsberechtigungen für diese Prozedur verfügen standardmäßig die Mitglieder der festen Serverrolle sysadmin.
Beispiele
A. Festlegen eines Profils als öffentliches Standardprofil für eine Datenbank
Im folgenden Beispiel wird das Profil General Use Profile als öffentliches Standardprofil für Benutzer in der msdb-Datenbank festgelegt.
EXECUTE msdb.dbo.sysmail_update_principalprofile_sp
@principal_name = 'public',
@profile_name = 'General Use Profile',
@is_default = '1';
B. Festlegen eines Profils als privates Standardprofil für einen Benutzer
Im folgenden Beispiel wird das Profil AdventureWorks Administrator als Standardprofil für den Prinzipal ApplicationUser in der msdb-Datenbank festgelegt. Das Profil muss dem Prinzipal bereits zugeordnet sein. Das zuvor als Standardprofil verwendete Profil ist dem Prinzipal weiter zugeordnet, es ist jedoch nicht mehr als Standardprofil festgelegt.
EXECUTE msdb.dbo.sysmail_update_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator',
@is_default = '1' ;