Compartilhar via


Objetos de configuração do Database Mail

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

Os objetos de configuração de banco de dados fornecem uma maneira de definir as configurações que o Database Mail deve usar ao enviar um email do aplicativo de banco de dados ou do SQL Server Agent.

O usuário pode receber acesso seguro aos perfis do Database Mail. Os perfis usam contas do Database Mail.

<>

A ilustração a seguir mostra dois perfis, três contas e três usuários. O Usuário 1 tem acesso ao Perfil 1, que usa a Conta 1 e a Conta 2. O Usuário 3 tem acesso ao Perfil 2, que usa a Conta 2 e a Conta 3. O Usuário 2 tem acesso ao Perfil 1 e ao Perfil 2.

Ilustração da relação de usuários, perfis e contas no Database Mail.

Conta do Database Mail

Uma conta do Database Mail contém as informações que o Microsoft SQL Server usa para enviar mensagens de email a um servidor SMTP. Cada conta contém informações de um servidor de email.

O Database Mail oferece suporte a três métodos de autenticação para se comunicar com um servidor SMTP:

  • Autenticação do Windows: o Database Mail usa as credenciais da conta de serviço do Windows do Mecanismo de Banco de Dados do SQL Server para autenticação no servidor SMTP.

  • Autenticação Básica: O Database Mail usa o nome de usuário e a senha especificados para autenticação no servidor SMTP.

  • Autenticação Anônima: O servidor SMTP não exige nenhuma autenticação. O Database Mail não usará nenhuma credencial para a autenticação no servidor SMTP.

As informações da conta são armazenadas no banco de dados do msdb sistema, incluindo o nome, a descrição, o endereço de email, o email de resposta, o servidor de email e as informações de autenticação do servidor.

O Assistente para Configuração do Database Mail é um modo conveniente de criar e gerenciar contas. Você também pode usar os procedimentos armazenados de configuração em msdb para criar e gerenciar contas.

Perfil do Database Mail

Um perfil do Database Mail é uma coleção ordenada de contas relacionadas do Database Mail. Os aplicativos que enviam email por meio do Database Mail especificam perfis, em vez de usar contas diretamente.

Separar as informações sobre os servidores de email individuais e os objetos utilizados pelo aplicativo melhora a flexibilidade e a confiabilidade: os perfis proporcionam failover automático, de modo que, se um servidor de email não estiver respondendo, o Database Mail poderá enviar email para outro servidor automaticamente. Os administradores de banco de dados podem adicionar, remover ou reconfigurar contas sem a necessidade de alterações no código do aplicativo ou nas etapas de trabalho.

Os perfis também ajudam os administradores de banco de dados a controlar o acesso a email. É necessária associação à função DatabaseMailUserRole para poder enviar Database Mail. Os perfis propiciam flexibilidade extra aos administradores para controlar quem envia email e quais contas são utilizadas.

Um perfil pode ser público ou privado. Por padrão, um perfil é particular e permite acesso apenas a membros da função de servidor fixa sysadmin .

  • Perfis públicos estão disponíveis para todos os membros da função de banco de dados DatabaseMailUserRole no banco de dados do msdb sistema. Eles permitem que todos os membros da função DatabaseMailUserRole enviem email utilizando o perfil.

  • Perfis privados são definidos para os diretores de segurança no banco de dados msdb. Eles permitem que apenas usuários, funções e membros especificados da função de servidor fixa sysadmin do banco de dados enviem email usando o perfil. Para uso de um perfil particular, sysadmin deve conceder aos usuários permissão para usarem o perfil. Além disso, a permissão EXECUTE no sp_send_dbmail procedimento armazenado só é concedida aos membros do DatabaseMailUserRole. Um administrador do sistema deve adicionar o usuário à função de banco de dados DatabaseMailUserRole para que ele possa enviar mensagens de email.

Números de sequência de perfil

Os perfis melhoram a confiança nos casos em que um servidor de email se torna inacessível ou incapaz de processar mensagens. Cada conta no perfil possui um número de sequência. O número de sequência determina a ordem na qual o Database Mail usa as contas no perfil.

Para uma nova mensagem de email, o Database Mail usa a última conta que enviou uma mensagem com êxito ou a conta com o número de sequência mais baixo, caso ainda não tenha sido enviada nenhuma mensagem. Se essa conta falhar, o Database Mail usará a conta com o próximo número de sequência mais alto, e assim por diante, até que o Database Mail envie a mensagem com êxito ou a conta com o número de sequência mais alto falhe. Se a conta com o número de sequência mais alto falhar, o Database Mail pausará as tentativas de enviar o email pelo período de tempo configurado no parâmetro AccountRetryDelay de sysmail_configure_spe, em seguida, iniciará o processo de tentar enviar o email novamente, começando pelo número de sequência mais baixo.

Use o parâmetro AccountRetryAttempts de sysmail_configure_sp para configurar o número de vezes que o processo externo de envio de email tenta enviar a mensagem usando cada conta no perfil especificado.

Se existir mais de uma conta com o mesmo número de sequência, o Database Mail utilizará apenas uma delas para uma dada mensagem de email. Nesse caso, o Database Mail não pode garantir qual das contas será usada para o número de sequência em questão nem que a mesma conta seja usada em todas as mensagens.

Tarefas de configuração do Database Mail

A tabela a seguir descreve as tarefas de configuração do Database Mail.

Tarefa de configuração Link do tópico
Descrever como criar contas do Database Mail Criar uma conta do Database Mail
Descrever como criar perfis do Database Mail Criar um perfil do Database Mail
Descreve como configurar o Database Mail Configurar o Database Mail

Tarefas adicionais de Configuração de Banco de Dados (procedimentos armazenados do sistema)

Os procedimentos armazenados de configuração do Database Mail estão localizados no banco de dados msdb.

As tabelas a seguir listam os procedimentos armazenados utilizados para configurar e gerenciar o Database Mail.

Configurações do Database Mail

Nome Descrição
sysmail_configure_sp (Transact-SQL) Altera definições de configuração do Database Mail.
sysmail_help_configure_sp (Transact-SQL) Exibe definições de configuração do Database Mail.

Contas e perfis

Nome Descrição
sysmail_add_profileaccount_sp (Transact-SQL) Adiciona uma conta de email a um perfil do Database Mail.
sysmail_delete_account_sp (Transact-SQL) Exclui uma conta do Database Mail.
sysmail_delete_profile_sp (Transact-SQL) Exclui um perfil do Database Mail.
sysmail_delete_profileaccount_sp (Transact-SQL) Remove uma conta de um perfil do Database Mail.
sysmail_help_account_sp (Transact-SQL) Lista informações sobre contas do Database Mail.
sysmail_help_profile_sp (Transact-SQL) Lista informações sobre um ou mais perfis do Database Mail.
sysmail_help_profileaccount_sp (Transact-SQL) Lista as contas associadas a um ou mais perfis do Database Mail.
sysmail_update_account_sp (Transact-SQL) Atualiza as informações em uma conta existente do Database Mail.
sysmail_update_profile_sp (Transact-SQL) Altera a descrição ou o nome de um perfil do Database Mail.
sysmail_update_profileaccount_sp (Transact-SQL) Atualiza o número de sequência de uma conta dentro de um perfil do Database Mail.

Segurança

Nome Descrição
sysmail_add_principalprofile_sp (Transact-SQL) Concede permissão a uma entidade de banco de dados para usar um perfil do Database Mail.
sysmail_delete_principalprofile_sp (Transact-SQL) Remove a permissão de um usuário do banco de dados para usar um perfil público ou particular do Database Mail.
sysmail_help_principalprofile_sp (Transact-SQL) Lista informações de perfil do Database Mail referentes a um determinado usuário de banco de dados.
sysmail_update_principalprofile_sp (Transact-SQL) Atualiza as informações de permissões de um determinado usuário de banco de dados.

Estado do sistema

Nome Descrição
sysmail_start_sp (Transact-SQL) Inicia o programa externo do Database Mail e a fila associada do SQL Service Broker.
sysmail_stop_sp (Transact-SQL) Interrompe o programa externo do Database Mail e a fila associada do SQL Service Broker.
sysmail_help_status_sp (Transact-SQL) Indica se o Database Mail foi iniciado.