sysmail_add_principalprofile_sp (Transact-SQL)
Gewährt für einen Datenbankbenutzer oder eine Rolle die Berechtigung zum Verwenden eines Datenbank-E-Mail-Profils.
Transact-SQL-Syntaxkonventionen
Syntax
sysmail_add_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 in der msdb-Datenbank für die Zuordnung. principal_id ist vom Datentyp int. Der Standardwert ist NULL. Es muss entweder principal_id oder principal_name angegeben werden. Wenn principal_id auf 0 festgelegt ist, wird dieses Profil öffentlich, wobei der Zugriff auf alle Prinzipale in der Datenbank erteilt wird.[ @principal_name = ] 'principal_name'
Der Name des Datenbankbenutzers oder der Datenbankrolle in der msdb-Datenbank für die Zuordnung. principal_name ist vom Datentyp sysname. Der Standardwert ist NULL. Es muss entweder principal_id oder principal_name angegeben werden. Wenn principal_name auf 'public' festgelegt ist, wird dieses Profil öffentlich, wobei der Zugriff auf alle Prinzipale in der Datenbank erteilt wird.[ @profile_id = ] profile_id
Die ID des Profils für die Zuordnung. profile_id ist vom Datentyp int. Der Standardwert ist NULL. Es muss entweder profile_id oder profile_name angegeben werden.[ @profile_name = ] 'profile_name'
Die Name des Profils für die Zuordnung. profile_name ist vom Datentyp sysname und hat keinen Standardwert. Es muss entweder profile_id oder profile_name angegeben werden.[ @is_default = ] is_default
Gibt an, ob dieses Profil das Standardprofil für den Prinzipal ist. Ein Prinzipal muss genau ein Standardprofil haben. is_default ist vom Datentyp bit und hat keinen Standardwert.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
Sie können ein Profil öffentlich machen, indem Sie @principal_id auf 0 festlegen oder für @principal_name den Wert public angeben. Ein öffentliches Profil ist für alle Benutzer der msdb-Datenbank verfügbar. Allerdings müssen diese Benutzer auch Mitglieder von DatabaseMailUserRole sein, wenn sie sp_send_dbmail ausführen können sollen.
Ein Datenbankbenutzer kann nur ein Standardprofil besitzen. Wenn @is_default auf '1' festgelegt ist und der Benutzer bereits mehreren Profilen zugeordnet ist, wird das angegebene Profil als Standardprofil für den Benutzer verwendet. Das zuvor als Standardprofil verwendete Profil ist dem Benutzer weiter zugeordnet, es ist jedoch nicht mehr als Standardprofil festgelegt.
Wenn @is_default auf '0' festgelegt ist und keine andere Zuordnung vorhanden ist, gibt die gespeicherte Prozedur einen Fehler zurück.
Die gespeicherte Prozedur sysmail_add_principalprofile_sp befindet sich in der msdb-Datenbank mit dem dbo-Schema als Besitzer. 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. Erstellen einer Zuordnung und Festlegen des Standardprofils
Im folgenden Beispiel wird eine Zuordnung zwischen dem Profil AdventureWorks Administrator Profile und dem msdb-Datenbankbenutzer ApplicationUser erstellt. Als Profil wird das Standardprofil des Benutzers verwendet.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1 ;
B. Festlegen eines Profils als öffentliches Standardprofil
In diesem Beispiel wird das Profil AdventureWorks Public Profile als öffentliches Standardprofil für Benutzer in der msdb-Datenbank festgelegt.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1 ;
Siehe auch
Verweis
Gespeicherte Prozeduren für Datenbank-E-Mail (Transact-SQL)