Procedura: Creazione di profili privati di Posta elettronica database (Transact-SQL)

È possibile utilizzare Configurazione guidata posta elettronica database o le stored procedure di Posta elettronica database per creare profili privati di Posta elettronica database per l'invio di messaggi SMTP (Simple Mail Transfer Protocol). Un profilo privato può essere utilizzato da un utente o da un ruolo. Concedendo ai ruoli l'accesso ai profili si crea un'architettura più semplice da gestire.

Per creare un profilo di Posta elettronica database utilizzando Transact-SQL

  1. Creare uno o più account di Posta elettronica database per il profilo. Per ulteriori informazioni sulla creazione di account di Posta elettronica database, vedere Procedura: Creazione di account di Posta elettronica database (Transact-SQL).

  2. Eseguire la stored procedure msdb.dbo.sysmail_add_profile_sp per creare il profilo, specificando quanto segue:

    • Nome del profilo da creare.

    • Descrizione facoltativa del profilo.

  3. Per ogni account, eseguire msdb.dbo.sysmail_add_profileaccount_sp per aggiungere l'account al profilo.

  4. Per ogni ruolo o utente del database che dovrà inviare messaggi tramite questo profilo, concedere l'accesso al profilo eseguendo msdb.sysmail_add_principalprofile_sp.

Esempio

Nell'esempio seguente vengono creati un account e un profilo di Posta elettronica database. L'account viene quindi aggiunto al profilo e viene concesso l'accesso al profilo al ruolo di 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 ;