sysmail_add_principalprofile_sp (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate)

Concede a un'entità di database msdb l'autorizzazione per l'uso di un Posta elettronica database profilo. L'entità di database deve eseguire il mapping a un SQL Server di autenticazione, un Windows utente o un Windows gruppo.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

  
sysmail_add_principalprofile_sp  { [ @principal_id = ] principal_id | [ @principal_name = ] 'principal_name' } ,  
    { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }  
    [ , [ @is_default ] = 'is_default' ]  

Argomenti

[ @principal_id = ] principal_id ID dell'utente o del ruolo del database nel database msdb per l'associazione. principal_id è int, con il valore predefinito NULL. È principal_id o principal_name deve essere specificato. Un principal_id 0 rende questo profilo un profilo pubblico, concedendo l'accesso a tutte le entità nel database.

[ @principal_name = ] 'principal_name' Nome dell'utente o del ruolo del database nel database msdb per l'associazione. principal_name è sysname, con il valore predefinito NULL. È principal_id o principal_name deve essere specificato. Un principal_name 'public' rende questo profilo un profilo pubblico, concedendo l'accesso a tutte le entità nel database.

[ @profile_id = ] profile_id ID del profilo per l'associazione. profile_id è int, con il valore predefinito NULL. È profile_id o profile_name deve essere specificato.

[ @profile_name = ] 'profile_name' Nome del profilo per l'associazione. profile_name è sysname, senza alcun valore predefinito. È profile_id o profile_name deve essere specificato.

[ @is_default = ] is_default Specifica se questo profilo è il profilo predefinito per l'entità. A un'entità può essere associato un solo profilo predefinito. is_default è bit, senza alcun valore predefinito.

Valori del codice restituito

0 (esito positivo) o 1 (errore)

Commenti

Per rendere pubblico un profilo, specificare un @ principal_id 0 o un @ principal_name di public. Un profilo pubblico è disponibile per tutti gli utenti nel database msdb, anche se gli utenti devono anche essere membri di DatabaseMailUserRole per eseguire sp_send_dbmail .

A un utente del database può essere associato un solo profilo predefinito. Quando @ is_default è '1' e l'utente è già associato a uno o più profili, il profilo specificato diventa il profilo predefinito per l'utente. Il profilo che in precedenza era il profilo predefinito è tuttora associato all'utente, ma non è più il profilo predefinito.

Quando @ is_default è '0' e non esistono altre associazioni, il stored procedure restituisce un errore.

Il stored procedure sysmail_add_principalprofile_sp si trova nel database msdb ed è di proprietà dello schema dbo. La procedura deve essere eseguita con un nome in tre parti se il database corrente non è msdb.

Autorizzazioni

Le autorizzazioni di esecuzione per questa procedura vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin.

Esempio

A. Creazione di un'associazione e impostazione del profilo predefinito

Nell'esempio seguente viene creata un'associazione tra il profilo denominato AdventureWorks Administrator Profile e l'utente del database msdb ApplicationUser . Il profilo è il profilo predefinito per l'utente.

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

B. Impostazione di un profilo come profilo pubblico predefinito

L'esempio seguente imposta il AdventureWorks Public Profile profilo come profilo pubblico predefinito per gli utenti nel database msdb.

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

Vedere anche

Posta elettronica database
Posta elettronica database di configurazione
Posta elettronica database stored procedure (Transact-SQL)