Criar um perfil do Database Mail

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

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 Perfil do Database Mail.

Antes de começar

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

  • No Pesquisador de Objetos, conecte-se à instância do SQL Server a ser usada para configurar o Database Mail e expanda a árvore de servidores.

  • Expanda o nó Gerenciamento .

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

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

  • Na página Gerenciar Perfis e Contas , selecione a opção Criar um novo perfil e selecione Avançar.

  • 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.

  • 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:

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

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

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

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

    • 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:

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

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

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

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

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

Usar o Transact-SQL

Criar um perfil privado do Database Mail

  • Conecte-se à instância do SQL Server com o SQL Server Management Studio (SSMS) ou o Azure Data Studio. Abra uma nova janela de consulta.

  • Para criar um novo perfil, execute o procedimento armazenado no sistema sysmail_add_profile_sp (Transact-SQL), da seguinte forma:

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

    No script anterior, @profile_name é o nome do perfil e @description é a descrição do perfil. Esse parâmetro é opcional.

  • Para cada conta, execute o procedimento armazenado sysmail_add_profileaccount_sp (Transact-SQL) da seguinte forma:

    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, @account_name é o nome da conta a ser adicionada ao perfil e @sequence_number determina a ordem na qual as contas são usadas no perfil.

  • 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 sysmail_add_principalprofile_sp (Transact-SQL) da seguinte forma:

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

    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 do Database Mail

  • Conecte-se à instância do SQL Server.

  • Para criar um novo perfil, execute o procedimento armazenado no sistema sysmail_add_profile_sp (Transact-SQL), da seguinte forma:

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

    No script anterior, @profile_name é o nome do perfil e @description é a descrição do perfil. Esse parâmetro é opcional.

  • Para cada conta, execute o procedimento armazenado sysmail_add_profileaccount_sp (Transact-SQL) da seguinte forma:

    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, @account_name é o nome da conta a ser adicionada ao perfil e @sequence_number determina a ordem na qual as contas são usadas no perfil.

  • Para conceder acesso público, execute o procedimento armazenado sysmail_add_principalprofile_sp (Transact-SQL) da seguinte forma:

    EXECUTE msdb.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 indica que se trata de 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 ;  

Próximas etapas