Creare un profilo di Database Mail
Si applica a:SQL Server
Istanza gestita di SQL di Azure
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 ulteriori informazioni sui profili di Posta elettronica di Database, vedere Profilo di Posta elettronica di 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 la Configurazione guidata per l'invio di posta elettronica del database
Per creare un profilo di Posta elettronica database
In Esplora oggetti, connettersi all'istanza di SQL Server dove si desidera configurare la Posta elettronica del database ed espandere l'albero dei server.
Espandere il nodo Gestione
Fare doppio clic su Database Mail per aprire la Configurazione guidata di Database Mail.
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 procedura guidata di configurazione di Database Mail.
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 Procedura guidata di configurazione di Database Mail.
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
Crea un profilo di posta privata del 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 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 del 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 concedere accesso pubblico, eseguire la stored procedure sysmail_add_principalprofile_sp (Transact-SQL) come segue:
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 ;