Partilhar via


Criar um perfil do Database Mail

Use o Assistente de Configuração do Database Mail ou Transact-SQL para criar perfis públicos e privados 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 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 emails usando esse perfil. Um perfil privado pode ser usado por um usuário ou por uma função. Conceder acesso a funções a perfis cria uma arquitetura de mais fácil manutenção. Para enviar emails, 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 membro da função de servidor fixa sysadmin.

Usando 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 na qual você deseja configurar o Database Mail e expanda a árvore do servidor.

  • Expanda o nó Gerenciamento

  • Clique duas vezes no 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 Criar uma opção de perfil e clique em Avançar.

  • Na página Novo Perfil , especifique o nome do perfil, a descrição e adicione contas a serem incluídas no perfil e clique em Avançar.

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

  • Para configurar um perfil privado do Database Mail:

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

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

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

    • Na guia Perfis Privados , marque a caixa de seleção para o perfil que você deseja configurar e clique em Avançar.

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

  • Para configurar um perfil público do Database Mail:

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

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

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

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

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

Usando Transact-SQL

Para criar um perfil privado do Database Mail

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

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

    EXECUTEmsdb.dbo.sysmail_add_profile_sp

    @profile_name = 'Nome do Perfil'

    @description = 'Descrição'

    onde @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 maneira:

    EXECUTEmsdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = 'Nome do perfil'

    @account_name = 'Nome da conta'

    @sequence_number = 'número de sequência da conta dentro do perfil. '

    em que @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.

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

    EXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = 'Nome do perfil'

    @ principal_name = 'Nome do usuário ou função do banco de dados'

    @is_default = 'Status do perfil padrão '

    em que @profile_name é o nome do perfil e @principal_name é o nome do usuário ou função do banco de dados, @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 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 ;  

Para criar um perfil público do Database Mail

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

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

    EXECUTEmsdb.dbo.sysmail_add_profile_sp

    @profile_name = 'Nome do Perfil'

    @description = 'Descrição'

    onde @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 maneira:

    EXECUTEmsdb.dbo.sysmail_add_profileaccount_sp

    @profile_name = 'Nome do perfil'

    @account_name = 'Nome da conta'

    @sequence_number = 'número de sequência da conta dentro do perfil. '

    em que @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.

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

    EXECUTEmsdb.sysmail_add_principalprofile_sp

    @profile_name = 'Nome do perfil'

    @ principal_name = 'public or 0'

    @is_default = 'Status do perfil padrão '

    em que @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 e 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 ;