sysmail_add_principalprofile_sp (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Geeft toestemming aan een msdb databasehoofd om een Database Mail-profiel te gebruiken. De databasehoofd moet worden gekoppeld aan een SQL Server-authenticatiegebruiker, een Windows-gebruiker of een Windows-groep.

In Azure SQL Managed Instance en SQL Server 2022 (16.x) kan de databasehoofd ook worden toegewezen aan een Microsoft Entra-gebruiker.

Transact-SQL syntaxis-conventies

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

De ID van de databasegebruiker of rol in de msdb database voor de associatie. @principal_id is int, met als standaard .NULL Zowel @principal_id als @principal_name moeten worden gespecificeerd. Een @principal_id maakt 0 dit profiel openbaar, waardoor alle hoofdpersonen in de database toegang krijgen.

[ @principal_name = ] N'principal_name'

De naam van de databasegebruiker of rol in de msdb database voor de associatie. @principal_name is sysname, met als standaard .NULL Zowel @principal_id als @principal_name moeten worden gespecificeerd. Een @principal_name maakt public dit profiel openbaar, waardoor alle opdrachtgevers in de database toegang krijgen.

[ @profile_id = ] profile_id

De ID van het profiel van de vereniging. @profile_id is int, met een standaardwaarde van NULL. Zowel @profile_id als @profile_name moeten worden gespecificeerd.

[ @profile_name = ] N'profile_name'

De naam van het profiel van de vereniging. @profile_name is sysname, zonder standaardwaarde. Zowel @profile_id als @profile_name moeten worden gespecificeerd.

[ @is_default = ] is_default

Geeft aan of dit profiel het standaardprofiel is voor de principal. Een directeur moet precies één standaardprofiel hebben. @is_default is bit, zonder standaard.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

Om een profiel openbaar te maken, specificeer je een @principal_id van 0 of een @principal_name van public. Een openbaar profiel is beschikbaar voor alle gebruikers in de msdb database, hoewel gebruikers ook lid moeten zijn van DatabaseMailUserRole om uit te voeren sp_send_dbmail.

Een databasegebruiker kan slechts één standaardprofiel hebben. Wanneer @is_default is 1 en de gebruiker al gekoppeld is aan één of meer profielen, wordt het opgegeven profiel het standaardprofiel voor de gebruiker. Het profiel dat voorheen het standaardprofiel was, is nog steeds aan de gebruiker gekoppeld, maar is niet langer het standaardprofiel.

Wanneer @is_default is 0 en er geen andere associatie bestaat, geeft de opgeslagen procedure een foutmelding terug.

De opgeslagen procedure sysmail_add_principalprofile_sp bevindt zich in de msdb database en is eigendom van het dbo schema. De procedure moet worden uitgevoerd met een driedelige naam als de huidige database dat niet msdbis.

Permissions

U kunt EXECUTE machtigingen verlenen voor deze procedure, maar deze machtigingen worden mogelijk overschreven tijdens een SQL Server-upgrade.

Examples

A. Maak een associatie aan en stel het standaardprofiel in

Het volgende voorbeeld creëert een associatie tussen het benoemde AdventureWorks Administrator Profile profiel en de msdb databasegebruiker ApplicationUser. Het profiel is het standaardprofiel van de gebruiker.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator Profile',
    @is_default = 1;

B. Maak een profiel het standaard publieke profiel

Het volgende voorbeeld maakt het profiel AdventureWorks Public Profile het standaard publieke profiel voor gebruikers in de msdb database.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'AdventureWorks Public Profile',
    @is_default = 1;