Partilhar via


Criar um perfil do Database Mail

Aplica-se a:SQL Server

Use o Assistente de Configuração do Database Mail ou Transact-SQL para criar perfis públicos e privados do Database Mail. Para obter mais informações sobre perfis de email, consulte Objetos de configuração do Database Mail.

Sugestão

A criação de um perfil de email de banco de dados não é necessária na Instância Gerenciada SQL do Azure, que já está configurada para procurar um perfil chamado AzureManagedInstance_dbmail_profile. Para obter mais informações e um script de exemplo, consulte Notificações de Trabalho do Agente SQL da Instância Gerida do Azure.

Pré-requisitos

Crie uma ou mais contas do Database Mail para o perfil. Para obter mais informações sobre como criar contas do Database Mail, consulte Criar uma conta do Database Mail.

Segurança

Um perfil público permite que qualquer usuário com acesso ao banco de dados msdb envie e-mails usando esse perfil. Um perfil privado pode ser usado por um usuário ou por uma função. Conceder acesso a perfis de funções cria uma arquitetura de manutenção mais fácil. Para enviar email, você deve ser membro do DatabaseMailUserRole no banco de dados msdb e ter acesso a pelo menos um perfil do Database Mail.

Permissões

O usuário que cria as contas de perfis e executa procedimentos armazenados deve ser um membro da função de servidor fixa sysadmin.

Usar o Assistente de Configuração do Database Mail para criar um perfil do Database Mail

As etapas a seguir usam o SQL Server Management Studio (SSMS). Baixe a versão mais recente do SSMS em aka.ms/ssms.

  1. No Pesquisador de Objetos, conecte-se à instância do SQL Server onde você deseja configurar o Database Mail e expanda a árvore do servidor.

  2. Expandir o nó Gestão

  3. Clique duas vezes em Database Mail para abrir o Assistente de Configuração do Database Mail.

  4. Na página Selecionar Tarefa de Configuração, selecione a opção Gerenciar contas e perfis do Database Mail e selecione Avançar.

  5. Na página Gerir perfis e contas, selecione a opção Criar um novo perfil e selecione Avançar.

  6. Na página Novo Perfil, especifique o Nome do Perfil, a Descrição e adicione contas ao perfil, e selecione Avançar.

  7. Na página Completar o Assistente, reveja as ações a serem executadas e selecione Concluir para finalizar a criação do novo perfil.

Para configurar um perfil privado do Database Mail

  1. Abra o Assistente de Configuração do Database Mail.

  2. Na página Selecionar Tarefa de Configuração, selecione a opção Gerir contas e perfis de Mail da Base de Dados e escolha Avançar.

  3. Na página Gerenciar perfis e contas, selecione a opção Gerenciar segurança do perfil e selecione Próximo.

  4. Na guia Perfis Privados, marque a caixa de seleção do perfil que deseja configurar e selecione Avançar.

  5. Na página Completar o Assistente, reveja as ações a serem realizadas e selecione Finalizar para concluir a configuração do perfil.

Para configurar um perfil público do Database Mail

  1. Abra o Assistente de Configuração do Database Mail.

  2. Na página Selecionar Tarefa de Configuração, selecione a opção Gerir contas e perfis de Mail da Base de Dados e escolha Avançar.

  3. Na página Gerenciar perfis e contas, selecione a opção Gerenciar segurança do perfil e selecione Próximo.

  4. Na guia Perfis Públicos, marque a caixa de seleção do perfil que deseja configurar e selecione Avançar.

  5. Na página Completar o Assistente, reveja as ações a serem realizadas e selecione Finalizar para concluir a configuração do perfil.

Usar Transact-SQL para criar um perfil de email de banco de dados

Para executar comandos T-SQL em sua instância do SQL Server, use o SQL Server Management Studio (SSMS), a extensão MSSQL para Visual Studio Code, sqlcmd ou sua ferramenta de consulta T-SQL favorita.

Criar um perfil de email de banco de dados privado com T-SQL

  1. Conecte-se à instância do SQL Server. Abra uma nova janela de consulta.

  2. Para criar um novo perfil, execute o procedimento armazenado do sistema sysmail_add_profile_sp:

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

    No script anterior, @profile_name é o nome do perfil e @description é uma descrição amigável opcional do perfil.

  3. Para cada conta, execute o procedimento armazenado do 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.';
    

    No script de exemplo anterior, @profile_name é o nome do perfil, e @account_name é o nome da conta a ser adicionada ao perfil, @sequence_number determina a ordem em que as contas são usadas no perfil.

  4. Para cada função de banco de dados ou usuário que enviará emails usando esse perfil, conceda acesso ao perfil. Para fazer isso, execute o procedimento armazenado do 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';
    

    No script de exemplo anterior, @profile_name é o nome do perfil, @principal_name é o nome do usuário ou função do banco de dados e @is_default determina se esse perfil é o padrão para o usuário ou função do banco de dados.

O exemplo a seguir cria uma conta do Database Mail, cria um perfil privado do Database Mail, 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 ;  

Criar um perfil público de email de banco de dados com T-SQL

  1. Conecte-se à instância do SQL Server. Abra uma nova janela de consulta.

  2. Para criar um novo perfil, execute o procedimento armazenado do sistema sysmail_add_profile_sp (Transact-SQL):

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

    No script anterior, @profile_name é o nome do perfil e @description é uma descrição opcional do perfil.

  3. Para cada conta, execute o procedimento armazenado 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.'  
    

    No script de exemplo anterior, @profile_name é o nome do perfil, e @account_name é o nome da conta a ser adicionada ao perfil, @sequence_number determina a ordem em que as contas são usadas no perfil.

  4. Para conceder acesso público, execute o procedimento armazenado 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';
    

    No script de exemplo anterior, @profile_name é o nome do perfil e @principal_name , para indicar que este é um perfil público, @is_default determina se esse perfil é o padrão para o usuário ou função do banco de dados.

O exemplo a seguir cria uma conta do Database Mail, cria um perfil privado do Database Mail, adiciona a conta ao perfil e concede acesso público ao perfil.

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