Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Ger tillstånd för en msdb databaschef att använda en Database Mail-profil. Databasens huvudperson måste mappas till en SQL Server-autentiseringsanvändare, en Windows-användare eller en Windows-grupp.
I Azure SQL Managed Instance och SQL Server 2022 (16.x) kan databasprincipen också mappas till en Microsoft Entra-användare.
Transact-SQL syntaxkonventioner
Syntax
dbo.sysmail_add_principalprofile_sp
{ [ @principal_id = ] principal_id
| [ @principal_name = ] N'principal_name' }
, { [ @profile_id = ] profile_id
| [ @profile_name = ] N'profile_name' }
, [ @is_default = ] is_default
[ ; ]
Arguments
[ @principal_id = ] principal_id
ID:t för databasanvändaren eller rollen i msdb databasen för associationen.
@principal_id är int, med standardvärdet .NULL Antingen @principal_id eller @principal_name måste specificeras. En @principal_id gör 0 denna profil till en offentlig profil och ger tillgång till alla huvudpersoner i databasen.
[ @principal_name = ] N'principal_name'
Namnet på databasanvändaren eller rollen i databasen msdb för associationen.
@principal_name är sysname, med standardvärdet .NULL Antingen @principal_id eller @principal_name måste specificeras. En @principal_name gör public denna profil till en offentlig profil och ger tillgång till alla huvudpersoner i databasen.
[ @profile_id = ] profile_id
ID:t för föreningens profil.
@profile_id är int, med standardvärdet NULL. Antingen @profile_id eller @profile_name måste specificeras.
[ @profile_name = ] N'profile_name'
Namnet på profilen för föreningen. @profile_name är sysname, utan standard. Antingen @profile_id eller @profile_name måste specificeras.
[ @is_default = ] is_default
Specificerar om denna profil är standardprofilen för huvudpersonen. En huvudman måste ha exakt en standardprofil. @is_default är bit, utan standard.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Remarks
För att göra en profil offentlig, ange en @principal_id av 0 eller en @principal_name av public. En publik profil är tillgänglig för alla användare i databasen msdb , men användare måste också vara medlemmar i DatabaseMailUserRole för att köra sp_send_dbmail.
En databasanvändare kan bara ha en standardprofil. När @is_default är 1 och användaren redan är kopplad till en eller flera profiler blir den angivna profilen användarens standardprofil. Profilen som tidigare var standardprofil är fortfarande kopplad till användaren, men är inte längre standardprofilen.
När @is_default är 0 och ingen annan association existerar, returnerar den lagrade proceduren ett fel.
Den lagrade proceduren sysmail_add_principalprofile_sp finns i msdb databasen och ägs av dbo schemat. Proceduren måste köras med ett namn i tre delar om den aktuella databasen inte msdbär .
Permissions
Du kan ge EXECUTE behörigheter för denna procedur, men dessa behörigheter kan åsidosättas vid en SQL Server-uppgradering.
Exempel
A. Skapa en association och sätt standardprofilen
Följande exempel skapar en koppling mellan den namngivna AdventureWorks Administrator Profile profilen och databasanvändaren msdbApplicationUser. Profilen är användarens standardprofil.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1;
B. Gör en profil till standardprofilen för publik
Följande exempel gör profilen AdventureWorks Public Profile till standardprofilen för användare i databasen msdb .
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1;