INTRODUÇÃO
As notificações são usuais na maioria dos sistemas modernos. O SQL Server implementou meios de enviar notificações por e-mail antecipadamente com o recurso chamado SQL Mail. No SQL Server 2005, o Database Mail foi lançado e ainda temos o Database Mail funcionando nas versões atuais do SQL Server. Dado esse pano de fundo, podemos dizer que o Database Mail é um recurso muito maduro no SQL Server.
Eu enfrentei alguns casos de uso relacionados à implantação do Database Mail na minha experiência.
A lista não está completa, mas dê uma olhada em alguns problemas:
- Monitoramento – Nos meus dias de Administrador de Banco de Dados, na ausência de uma ferramenta de monitoramento completa, adotei um script desenvolvido por um conhecido que blogava no SQL Server Central. Esse script era baseado em HTML, mas incorporava SQL que extraía dados das principais visualizações do catálogo do sistema e enviava a saída por e-mail aos administradores.
- Resultados do trabalho – Também usei o Database Mail para entregar a saída de trabalhos para administradores de banco de dados ou até mesmo usuários comuns que quisessem obter essas informações. Um SQL Agent permite que você aproveite o Database Mail para simplesmente enviar o status dos trabalhos – sucesso ou falha. Você pode ir além desenvolvendo scripts usando o procedimento armazenado sp_send_dbmail
- Relatórios – No caso de relatórios simples, o sp_send_dbmail O procedimento armazenado também pode ser usado para agregar um conjunto de resultados e enviá-lo como um arquivo ou em um e-mail com a formatação adequada.
REQUISITOS
A seguir estão os requisitos essenciais a serem considerados ao configurar o Database Mail:
- A porta 25 (SMTP) deve estar aberta entre o host do SQL Server e o Exchange Server. É relevante em ambientes onde a rede é segmentada por Firewalls.
- O host do SQL Server deve ter permissões de retransmissão de email no domínio. Um administrador do Microsoft Exchange deve garantir isso para você.
- Crie uma conta de servidor de troca para enviar e-mails. Não é obrigatório, mas pessoalmente prefiro ter controle sobre qual conta executa quais ações em meu ambiente.
PROCEDIMENTO
Para enviar emails de uma instância do SQL Server, você precisa configurar o Database Mail. Faça os seguintes passos:
- A tela de boas-vindas fornece uma visão geral das ações que você está prestes a realizar. Nesse processo, você configurará um perfil de e-mail, uma conta de e-mail, segurança e, em seguida, configurará os parâmetros do sistema. (Veja a Figura 1)
2. Agora, você vê as opções para selecionar com os botões de opção. Como estamos configurando o correio de banco de dados pela primeira vez, escolhemos o primeiro botão de opção.
3. Ative o recurso Database Mail para prosseguir com a configuração.
4. Crie um perfil. Um perfil é uma coleção de contas de email usadas pelo mecanismo do SQL Server para enviar emails. A dissociação do perfil e das contas permite flexibilidade e confiabilidade. Você pode alterar a conta de e-mail associada ao seu perfil de e-mail à vontade. Além disso, você pode usar várias contas de e-mail para o mesmo perfil, proporcionando resiliência.
5. Visualize os detalhes necessários para configurar a conta de e-mail:o nome da conta, a conta de e-mail associada, o servidor de e-mail e as credenciais. Como mencionado anteriormente, você pode optar por enviar e-mails anonimamente.
Depois de configurar a conta de e-mail, você a associou com sucesso ao perfil de e-mail. Você também pode adicionar contas adicionais. Observe que, por motivos de segurança, essas contas, conforme especificado no campo de endereço de e-mail, devem ter o logon interativo negado nos servidores. Reduz os danos em caso de ser comprometido.
7. A próxima etapa é configurar a segurança do perfil. Você escolhe se quer tornar o perfil público ou privado. Um perfil público pode ser usado por qualquer principal no SQL Server adicionado à função de banco de dados DatabaseMailUserRole . Um perfil privado pode ser usado apenas pela conta sysadmin ou outro principal com privilégios EXECUTE concedidos no sp_send_dbmail procedimento armazenado. O perfil público geralmente atende aos meus propósitos.
O último passo significativo é configurar os parâmetros do sistema. As pessoas geralmente acham mais fácil pular essa etapa. Podemos alterar configurações como novas tentativas, tamanho do arquivo e registro. Pessoalmente, achei útil aumentar o limite de tamanho do arquivo ao configurar um relatório maior que 1 MB.
9. Conclua a configuração.
CONCLUSÃO
Neste artigo, revisamos a configuração passo a passo do Database Mail. Também fornecemos algumas dicas práticas adicionais. Em um artigo de acompanhamento, exploraremos os catálogos do sistema que expõem dados para monitorar e solucionar problemas do Database Mail.
REFERÊNCIAS
Objetos de configuração do Database Mail