Condividi tramite


sysmail_update_principalprofile_sp (Transact-SQL)

Si applica a: SQL Server

Aggiorna le informazioni per un'associazione tra un'entità e un profilo.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sysmail_update_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 msdb ruolo del database nel database da modificare. principal_id è int, con il valore predefinito NULL. È necessario specificare @principal_id o @principal_name .

[ @principal_name = ] 'principal_name'

Nome dell'utente o del msdb ruolo del database nel database per l'associazione da aggiornare. principal_name è sysname, con un valore predefinito .NULL È necessario specificare @principal_id o @principal_name .

[ @profile_id = ] profile_id

ID del profilo da modificare per l'associazione. @profile_id è int, con il valore predefinito NULL. È necessario specificare @profile_id o @profile_name .

[ @profile_name = ] 'profile_name'

Nome del profilo per l'associazione da modificare. @profile_name è sysname, con il valore predefinito NULL. È necessario specificare @profile_id o @profile_name .

[ @is_default = ] is_default

Indica se questo profilo è il profilo predefinito per l'utente del database. Un utente del database potrebbe avere un solo profilo predefinito. @is_default è bit, senza impostazione predefinita.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Osservazioni:

Questa stored procedure consente di modificare il profilo predefinito per l'utente del database. Un utente del database potrebbe avere un solo profilo privato predefinito.

Quando il nome dell'entità per l'associazione è pubblico o l'ID principale per l'associazione è 0, questa stored procedure modifica il profilo pubblico. È possibile associare un solo profilo pubblico predefinito.

Quando @is_default è 1 e l'entità è associata a più profili, il profilo specificato diventa il profilo predefinito per l'entità. Il profilo che in precedenza era il profilo predefinito è tuttora associato all'entità, ma non è più il profilo predefinito.

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

Autorizzazioni

Questa stored procedure è di proprietà del ruolo db_owner . È possibile concedere EXECUTE autorizzazioni per qualsiasi utente, ma queste autorizzazioni possono essere sottoposte a override durante un aggiornamento di SQL Server.

Esempi

R. Impostare un profilo come profilo pubblico predefinito per un database

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

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'General Use Profile',
    @is_default = '1';

B. Impostare un profilo come profilo privato predefinito per un utente

Nell'esempio seguente il profilo AdventureWorks Administrator viene impostato come profilo predefinito per l'entità ApplicationUser di sicurezza nel msdb database. Il profilo deve essere già associato all'entità. Il profilo che in precedenza era il profilo predefinito è tuttora associato all'entità, ma non è più il profilo predefinito.

EXEC msdb.dbo.sysmail_update_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator',
    @is_default = '1' ;