Teilen über


sysmail_update_principalprofile_sp (Transact-SQL)

Gilt für: SQL Server

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

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

Die ID des Datenbankbenutzers oder der Datenbankrolle, msdb damit sich die Zuordnung ändern kann. principal_id ist int mit einem Standardwert von NULL. Entweder @principal_id oder @principal_name müssen angegeben werden.

[ @principal_name = ] 'principal_name'

Der Name des Datenbankbenutzers oder der Datenbankrolle in der msdb Datenbank, damit die Zuordnung aktualisiert werden soll. principal_name ist "sysname" mit der Standardeinstellung "NULL. Entweder @principal_id oder @principal_name müssen angegeben werden.

[ @profile_id = ] profile_id

Die ID des Zu ändernden Profils für die Zuordnung. @profile_id ist int, mit einem Standardwert von NULL. Entweder @profile_id oder @profile_name müssen angegeben werden.

[ @profile_name = ] 'profile_name'

Der Name des Profils für die Zuordnung, die geändert werden soll. @profile_name ist "sysname" mit der Standardeinstellung "NULL. Entweder @profile_id oder @profile_name müssen angegeben werden.

[ @is_default = ] is_default

Gibt an, ob dieses Profil das Standardprofil für den Datenbankbenutzer ist. Ein Datenbankbenutzer verfügt möglicherweise nur über ein Standardprofil. @is_default ist bit, ohne Standard.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Keine.

Hinweise

Mit dieser gespeicherten Prozedur wird festgelegt, ob das angegebene Profil das Standardprofil für den Datenbankbenutzer ist. Ein Datenbankbenutzer verfügt möglicherweise nur über ein privates Standardprofil.

Wenn der Prinzipalname für die Zuordnung öffentlich ist oder die Prinzipal-ID für die Zuordnung lautet0, ändert diese gespeicherte Prozedur das öffentliche Profil. Es kann nur ein öffentliches Standardprofil vorhanden sein.

Wenn @is_default ist und der Prinzipal mehreren Profilen zugeordnet ist 1 , wird das angegebene Profil zum Standardprofil für den Prinzipal. 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 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

A. Festlegen eines Profils als öffentliches Standardprofil für eine Datenbank

Im folgenden Beispiel wird festgelegt, dass das Profil General Use Profile das standard öffentliche Profil für Benutzer in der msdb Datenbank ist.

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'General Use Profile',
    @is_default = '1';

B. Festlegen eines Profils als standard privates Profil für einen Benutzer

Im folgenden Beispiel wird festgelegt, dass das Profil AdventureWorks Administrator das Standardprofil für den Prinzipal ApplicationUser in der msdb Datenbank ist. 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.

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator',
    @is_default = '1' ;