Freigeben über


sysmail_update_principalprofile_sp (Transact-SQL)

Aktualisiert die Informationen über eine Zuordnung zwischen einem Prinzipal und einem Profil.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

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' ;