Compartilhar via


Como criar perfis particulares do Database Mail (Transact-SQL)

Use o Assistente de Configuração do Database Mail ou os procedimentos armazenados do Database Mail para criar perfis particulares para o envio de email SMTP. Um perfil particular pode ser usado por um usuário ou por uma função. Conceder a funções o acesso a perfis cria uma arquitetura de mais fácil manutenção.

Para criar um perfil do Database Mail usando Transact-SQL

  1. Crie uma ou mais contas do Database Mail para o perfil. Para obter mais informações sobre como criar contas do Database Mail, consulte Como criar contas do Database Mail (Transact-SQL)

  2. Execute o procedimento armazenado msdb.dbo.sysmail_add_profile_sp para criar o perfil, especificando:

    • O nome do perfil a criar.

    • Uma descrição opcional do perfil.

  3. Para cada conta, execute msdb.dbo.sysmail_add_profileaccount_sp para adicionar a conta ao perfil.

  4. Para cada função ou usuário de banco de dados que vá enviar email utilizando esse perfil, conceda acesso ao perfil executando msdb.sysmail_add_principalprofile_sp.

Exemplo

O exemplo a seguir cria uma conta e um perfil do Database Mail. O exemplo então adiciona a conta ao perfil e concede acesso ao perfil à função de banco de dados DBMailUsers no banco de dados 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 ;