Partilhar via


Objetos de configuração do Database Mail

Aplica-se a:SQL ServerAzure SQL Managed Instance

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 seu 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 do relacionamento 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 para um servidor SMTP. Cada conta contém informações para um servidor de e-mail.

Um 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 autenticar no servidor SMTP.

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

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

O Assistente de Configuração do Database Mail fornece uma maneira 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 usando o Database Mail especificam perfis, em vez de usar contas diretamente.

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

Os perfis também ajudam os administradores de banco de dados a controlar o acesso ao e-mail. A associação ao DatabaseMailUserRole é necessária para enviar o Database Mail. Os perfis fornecem flexibilidade adicional para os administradores controlarem quem envia e-mails e quais contas são usadas.

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

  • Os 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 emails usando o perfil.

  • Os perfis privados são definidos para entidades de segurança no msdb banco de dados. Eles permitem que apenas usuários de banco de dados especificados, funções e membros da função de servidor fixa sysadmin enviem emails usando o perfil. Para usar um perfil privado, sysadmin deve conceder aos usuários permissão para usar o perfil. Além disso, a permissão EXECUTE para o procedimento armazenado sp_send_dbmail é concedida apenas aos membros da função DatabaseMailUserRole. Um administrador de sistema deve adicionar o usuário à função de banco de dados DatabaseMailUserRole para que o usuário envie mensagens de email.

Números de sequência de perfil

Os perfis melhoram a fiabilidade nos casos em que um servidor de correio eletrónico se torna inacessível ou incapaz de processar mensagens. Cada conta no perfil tem um número sequencial. O número de sequência determina a ordem em que o Database Mail usa 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 que tem o menor número de sequência se nenhuma mensagem ainda tiver sido enviada. 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 tempo configurado no parâmetro AccountRetryDelay do sysmail_configure_sp e, em seguida, iniciará o processo de tentativa de enviar o email novamente, começando com o 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 de e-mail externo tenta enviar a mensagem de e-mail usando cada conta no perfil especificado.

Se existir mais de uma conta com o mesmo número de sequência, o Database Mail usará apenas uma dessas contas para uma determinada mensagem de email. Nesse caso, o Database Mail não garante qual das contas é usada para esse número de sequência ou que a mesma conta é usada de mensagem para mensagem.

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
Descreve como criar contas do Database Mail Criar uma conta do Database Mail
Descreve como criar perfis do Database Mail Criar um perfil do Database Mail
Descreve como configurar o Database mail Configurar o Correio da Base de Dados

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 msdb banco de dados.

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

Configurações do Database Mail

Nome Descrição
sysmail_configure_sp (Transact-SQL) Altera as definições de configuração do Database Mail.
sysmail_help_configure_sp (Transact-SQL) Exibe definições de configuração para o 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 de correio de base de dados.
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 em um perfil do Database Mail.

Segurança

Nome Descrição
sysmail_add_principalprofile_sp (Transact-SQL) Conceder permissão a um principal de base de dados para utilizar um perfil do Database Mail.
sysmail_delete_principalprofile_sp (Transact-SQL) Remove a permissão para um usuário de banco de dados usar um perfil público ou privado do Database Mail.
sysmail_help_principalprofile_sp (Transact-SQL) Lista as informações de perfil do Database Mail para um determinado usuário do banco de dados.
sysmail_update_principalprofile_sp (Transact-SQL) Atualiza as informações de permissão para um determinado usuário do 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.