Condividi tramite


Creare un profilo di Posta elettronica database

si applica a:SQL Server

Per creare i profili pubblici e privati di Posta Elettronica del Database, è possibile usare la Configurazione Guidata della Posta Elettronica del Database o Transact-SQL. Per altre informazioni sui profili di posta elettronica, vedere Oggetti di configurazione di Posta elettronica database.

Suggerimento

La creazione di un profilo di posta elettronica database non è necessaria in Istanza gestita di SQL di Azure, già configurata per cercare un profilo denominato AzureManagedInstance_dbmail_profile. Per ulteriori informazioni e uno script di esempio, vedere le Notifiche di lavoro dell'Istanza gestita di SQL di Azure SQL Agent.

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.

Utilizzare la procedura guidata di configurazione di Database Mail per creare un profilo di Database Mail

La procedura seguente usa SQL Server Management Studio (SSMS). Scaricare la versione più recente di SSMS all'indirizzo aka.ms/ssms.

  1. In Esplora oggetti, connettersi all'istanza di SQL Server in cui si vuole configurare Posta elettronica di database ed espandere l'albero del server.

  2. Espandere il nodo Gestione

  3. Fare doppio clic su Database Mail per aprire la Configurazione guidata di Database Mail.

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

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

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

  7. 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 Database Mail

  1. Aprire la procedura guidata di configurazione di Database Mail.

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

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

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

  5. 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 "Database Mail"

  1. Aprire la procedura guidata di configurazione di Database Mail.

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

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

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

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

Usare Transact-SQL per creare un profilo di posta elettronica database

Per eseguire comandi T-SQL nell'istanza di SQL Server, usare SQL Server Management Studio (SSMS),l'estensione MSSQL per Visual Studio Code, sqlcmd o lo strumento di query T-SQL preferito.

Creare un profilo di posta elettronica del database privato con T-SQL

  1. Eseguire la connessione all'istanza di SQL Server. Aprire una nuova finestra Query.

  2. Per creare un nuovo profilo, eseguire la stored procedure di sistema sysmail_add_profile_sp:

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

    Nello script precedente è @profile_name il nome del profilo ed @description è una descrizione descrittiva facoltativa del profilo.

  3. Per ogni account, eseguire la stored procedure di sistema sysmail_add_profileaccount_sp:

    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.';
    

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

  4. Concedere l'accesso al profilo a ogni utente o ruolo del database che invierà posta elettronica tramite questo profilo. Per farlo, eseguire la stored procedure di sistema sysmail_add_principalprofile_sp:

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

    Nello script di esempio precedente, @profile_name è il nome del profilo, @principal_name è il nome dell'utente o del ruolo del database e @is_default determina se questo profilo è l'impostazione predefinita per l'utente o il ruolo del database.

Nell'esempio seguente viene creato un account di Database Mail e un profilo privato di Database Mail, poi l'account viene aggiunto al profilo e viene concesso l'accesso al profilo al ruolo del database DBMailUsers nel database msdb.

-- 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 pubblico di posta elettronica database con T-SQL

  1. Eseguire la connessione all'istanza di SQL Server. Aprire una nuova finestra Query.

  2. Per creare un nuovo profilo, eseguire la stored procedure di sistema sysmail_add_profile_sp (Transact-SQL):

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

    Nello script precedente è @profile_name il nome del profilo ed @description è una descrizione facoltativa del profilo.

  3. Per ogni account, eseguire la stored procedure sysmail_add_profileaccount_sp (Transact-SQL):

    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.'  
    

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

  4. Per concedere l'accesso pubblico, eseguire la stored procedure sysmail_add_principalprofile_sp (Transact-SQL):

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

    Nello script di esempio precedente, @profile_name è il nome del profilo e @principal_name per indicare che si tratta di un profilo pubblico, @is_default determina se questo profilo è l'impostazione predefinita per l'utente o il ruolo del database.

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 ;