sysmail_add_principalprofile_sp (Transact-SQL)
Concede l'autorizzazione per un utente o ruolo del database per l'utilizzo di un profilo di Posta elettronica database.
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 del database o del ruolo nel database msdb per l'associazione. principal_id è di tipo int e il valore predefinito è NULL. È necessario specificare l'argomento principal_id o l'argomento principal_name. Se principal_id è uguale a 0, il profilo diventa un profilo pubblico e viene concesso l'accesso a tutte le entità del database.[ @principal_name = ] 'principal_name'
Nome dell'utente del database o del ruolo nel database msdb per l'associazione. principal_name è di tipo sysname e il valore predefinito è NULL. È necessario specificare l'argomento principal_id o l'argomento principal_name. Se principal_name è uguale a 'public', il profilo diventa un profilo pubblico e viene concesso l'accesso a tutte le entità del database.[ @profile_id = ] profile_id
ID del profilo per l'associazione. profile_id è di tipo int e il valore predefinito è NULL. È necessario specificare l'argomento profile_id o l'argomento profile_name.[ @profile_name = ] 'profile_name'
Nome del profilo per l'associazione. profile_name è di tipo sysname e non prevede alcun valore predefinito. È necessario specificare l'argomento profile_id o l'argomento profile_name.[ @is_default = ] is_default
Indica se il profilo è il profilo predefinito per l'entità. A un'entità può essere associato un solo profilo predefinito. is_default è di tipo bit e non prevede alcun valore predefinito.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
Per rendere pubblico un profilo, specificare @principal_id uguale a 0 o @principal_name uguale a public. Nel database msdb è disponibile un profilo pubblico per tutti gli utenti. Per eseguire sp_send_dbmail, tuttavia, gli utenti devono inoltre essere membri di DatabaseMailUserRole.
A un utente del database può essere associato un solo profilo predefinito. Se @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.
Se @is_default è uguale a '0' e non esistono altre associazioni, la stored procedure restituisce un errore.
La stored procedure sysmail_add_principalprofile_sp è disponibile 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.
Esempi
A. Creazione di un'associazione e impostazione del profilo predefinito
Nell'esempio seguente viene creata un'associazione tra il profilo AdventureWorks Administrator Profile e l'utente ApplicationUser del database msdb. 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
Nell'esempio seguente viene impostato il profilo AdventureWorks Public Profile come profilo pubblico predefinito per gli utenti del database msdb.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1 ;
Vedere anche
Riferimento
Stored procedure di Posta elettronica database (Transact-SQL)