Compartilhar via


Criar um perfil do Database Mail

Aplica-se a:SQL Server

Use o Assistente para Configuração do Database Mail ou o 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.

Dica

A criação de um perfil de email de banco de dados não é necessária na Instância Gerenciada de 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 as notificações de trabalho do SQL Agent da Instância Gerenciada de SQL do Azure.

Pré-requisitos

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

Segurança

Um perfil público permite a qualquer usuário acessar o banco de dados msdb para enviar emails usando o perfil. 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 enviar emails, você deve ser membro de 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 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 SSMS (SQL Server Management Studio). Baixe a versão mais recente do SSMS em aka.ms/ssms.

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

  2. Expanda o nó Gerenciamento .

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

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

  5. Na página Gerenciar 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 as contas a serem incluídas no perfil e selecione Avançar.

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

Para configurar um perfil privado do Database Mail

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

  2. Na página Selecionar Tarefa de Configuração, selecione Gerenciar contas e perfis do Database Mail e clique em Avançar.

  3. Na página Gerenciar Perfis e Contas, selecione a opção Gerenciar segurança do perfil e clique em Avançar.

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

  5. Na página Concluir o Assistente, examine as ações a serem executadas e selecione Concluir para concluir a configuração do perfil.

Para configurar um perfil público do Database Mail

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

  2. Na página Selecionar Tarefa de Configuração, selecione Gerenciar contas e perfis do Database Mail e clique em Avançar.

  3. Na página Gerenciar Perfis e Contas, selecione a opção Gerenciar segurança do perfil e clique em Avançar.

  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 Concluir o Assistente, examine as ações a serem executadas e selecione Concluir 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 na qual as contas são usadas no perfil.

  4. Para cada função de banco de dados ou usuário que enviará email usando este 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 e, em seguida, 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 na qual 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 esse é 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 ;