Creare un profilo di Posta elettronica database

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Per creare profili pubblici e privati di Posta elettronica database, è possibile usare Configurazione guidata posta elettronica database o Transact-SQL. Per altre informazioni sui profili di Posta elettronica database, vedere Profilo di Posta elettronica database.

Prima di iniziare

Prerequisiti

Creare uno o più account di Posta elettronica database per il profilo. Per altre informazioni sulla creazione di account di Posta elettronica database, vedere Creare un account di Posta elettronica database.

Sicurezza

Gli utenti in grado di accedere al database msdb possono usare un profilo pubblico per inviare messaggi di posta elettronica. Un profilo privato può essere utilizzato da un utente o da un ruolo. Concedendo ai ruoli l'accesso ai profili viene creata un'architettura gestita in modo più semplice. Solo un membro del ruolo DatabaseMailUserRole del database msdb con accesso ad almeno un profilo di Posta elettronica database può inviare messaggi di posta elettronica.

Autorizzazioni

Per creare gli account dei profili ed eseguire le stored procedure è necessario che l'utente sia un membro del ruolo predefinito del server sysadmin.

Usare Configurazione guidata Posta elettronica database

Per creare un profilo di Posta elettronica database

  • In Esplora oggetti, connettersi all'istanza di SQL Server su cui si desidera configurare Posta elettronica database ed espandere l'albero di server.

  • Espandere il nodo Gestione

  • Fare doppio clic su Posta elettronica database per aprire la Configurazione guidata posta elettronica database.

  • Nella pagina Selezione attività di configurazione selezionare l'opzione Gestisci account e profili di Posta elettronica database e poi Avanti.

  • Nella pagina Gestione profili e account selezionare l'opzione Crea un nuovo profilo e poi Avanti.

  • Nella pagina Nuovo profilo specificare il nome e la descrizione del profilo e aggiungere gli account da includere nel profilo, quindi selezionare Avanti.

  • Per completare la creazione del nuovo profilo, rivedere le azioni da eseguire nella pagina Completamento procedura guidata quindi selezionare Fine.

  • Per configurare un profilo privato di Posta elettronica database:

    • Aprire la configurazione guidata posta elettronica database.

    • Nella pagina Selezione attività di configurazione selezionare l'opzione Gestisci account e profili di Posta elettronica database e poi Avanti.

    • Nella pagina Gestione profili e account selezionare l'opzione Gestione sicurezza profilo e poi Avanti.

    • Nella scheda Profili privati selezionare la casella di controllo per il profilo che si desidera configurare e poi Avanti.

    • Per completare la configurazione del profilo, rivedere le azioni da eseguire nella pagina Completamento procedura guidata quindi selezionare Fine.

  • Per configurare un profilo pubblico di Posta elettronica database:

    • Aprire la configurazione guidata posta elettronica database.

    • Nella pagina Selezione attività di configurazione selezionare l'opzione Gestisci account e profili di Posta elettronica database e poi Avanti.

    • Nella pagina Gestione profili e account selezionare l'opzione Gestione sicurezza profilo e poi Avanti.

    • Nella scheda Profili pubblici selezionare la casella di controllo per il profilo che si desidera configurare e poi Avanti.

    • Per completare la configurazione del profilo, rivedere le azioni da eseguire nella pagina Completamento procedura guidata quindi selezionare Fine.

Usare Transact-SQL

Creare un profilo privato di Posta elettronica database

  • Connettersi all'istanza di SQL Server con SQL Server Management Studio (SSMS) o Azure Data Studio. Aprire una nuova finestra Query.

  • Per creare un nuovo profilo, eseguire la stored procedure di sistema sysmail_add_profile_sp (Transact-SQL) come illustrato di seguito:

    EXECUTE msdb.dbo.sysmail_add_profile_sp
      @profile_name = 'Profile Name'  
    , @description = 'Description';
    

    Nello script precedente @profile_name corrisponde al nome del profilo e @description corrisponde alla descrizione di questo. Il parametro è facoltativo.

  • Per ogni account, eseguire la stored procedure sysmail_add_profileaccount_sp (Transact-SQL) come descritto di seguito:

    EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
      @profile_name = 'Profile Name'
    , @account_name = 'Name of the account'  
    , @sequence_number = 'sequence number of the account within the profile.';
    

    Nel precedente script di esempio @profile_name corrisponde al nome del profilo, @account_name corrisponde al nome dell'account da aggiungere al profilo e @sequence_number determina l'ordine con cui gli account vengono usati nel profilo.

  • Concedere l'accesso al profilo a ogni utente o ruolo del database che invierà posta elettronica tramite questo profilo. A tale scopo, eseguire la stored procedure sysmail_add_principalprofile_sp (Transact-SQL) come descritto di seguito:

    EXECUTE msdb.sysmail_add_principalprofile_sp
     @profile_name = 'Name of the profile'
    , @principal_name = 'Name of the database user or role'  
    , @is_default = 'Default profile enabled';
    

    Nel precedente script di esempio @profile_name corrisponde al nome del profilo, @principal_name corrisponde al nome dell'utente o del ruolo del database e @is_default determina se il profilo dell'utente o del ruolo del database è quello predefinito o meno.

Nell'esempio seguente vengono creati un account e un profilo privato di Posta elettronica database, viene quindi aggiunto l'account al profilo e viene concesso al ruolo del database DBMailUsers nel database msdb l'accesso al profilo.

-- Create a Database Mail account  
EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'AdventureWorks Administrator',  
    @description = 'Mail account for administrative e-mail.',  
    @email_address = 'dba@Adventure-Works.com',  
    @replyto_address = 'danw@Adventure-Works.com',  
    @display_name = 'AdventureWorks Automated Mailer',  
    @mailserver_name = 'smtp.Adventure-Works.com' ;  
  
-- Create a Database Mail profile  
EXECUTE msdb.dbo.sysmail_add_profile_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @description = 'Profile used for administrative mail.' ;  
  
-- Add the account to the profile  
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @account_name = 'AdventureWorks Administrator',  
    @sequence_number =1 ;  
  
-- Grant access to the profile to the DBMailUsers role  
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
    @profile_name = 'AdventureWorks Administrator Profile',  
    @principal_name = 'ApplicationUser',  
    @is_default = 1 ;  

Creare un profilo pubblica di Posta elettronica database

  • Eseguire la connessione all'istanza di SQL Server.

  • Per creare un nuovo profilo, eseguire la stored procedure di sistema sysmail_add_profile_sp (Transact-SQL) come illustrato di seguito:

    EXECUTE msdb.dbo.sysmail_add_profile_sp
      @profile_name = 'Profile Name'  
    , @description = 'Description';
    

    Nello script precedente @profile_name corrisponde al nome del profilo e @description corrisponde alla descrizione di questo. Il parametro è facoltativo.

  • Per ogni account, eseguire la stored procedure sysmail_add_profileaccount_sp (Transact-SQL) come descritto di seguito:

    EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
      @profile_name = 'Name of the profile'  
    , @account_name* = 'Name of the account'  
    , @sequence_number* = 'sequence number of the account within the profile.'  
    

    Nel precedente script di esempio @profile_name corrisponde al nome del profilo, @account_name corrisponde al nome dell'account da aggiungere al profilo e @sequence_number determina l'ordine con cui gli account vengono usati nel profilo.

  • Per dare accesso, eseguire la stored procedure sysmail_add_principalprofile_sp (Transact-SQL) come descritto di seguito:

    EXECUTE msdb.sysmail_add_principalprofile_sp
      @profile_name = 'Name of the profile' 
    , @principal_name = 'public or 0'  
    , @is_default = 'Default Profile enabled';
    

    Nel precedente script di esempio @profile_name corrisponde al nome del profilo, @principal_name indica che si tratta di un profilo pubblico e @is_default determina se il profilo dell'utente o del ruolo del database è quello predefinito o meno.

Nell'esempio seguente vengono creati un account e un profilo privato di Posta elettronica database, quindi viene aggiunto l'account al profilo e viene concesso l'accesso pubblico al profilo.

-- Create a Database Mail account  
EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'AdventureWorks Public Account',  
    @description = 'Mail account for use by all database users.',  
    @email_address = 'db_users@Adventure-Works.com',  
    @replyto_address = 'danw@Adventure-Works.com',  
    @display_name = 'AdventureWorks Automated Mailer',  
    @mailserver_name = 'smtp.Adventure-Works.com' ;  
  
-- Create a Database Mail profile  
  EXECUTE msdb.dbo.sysmail_add_profile_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @description = 'Profile used for administrative mail.' ;  

-- Add the account to the profile  
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @account_name = 'AdventureWorks Public Account',  
    @sequence_number =1 ;  
  
-- Grant access to the profile to all users in the msdb database  
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp  
    @profile_name = 'AdventureWorks Public Profile',  
    @principal_name = 'public',  
    @is_default = 1 ;  

Passaggi successivi