Bug no Database Mail do SQL Server 2016!?

Olá Pessoal!

Passei o inicio do ano sem nenhuma publicação mas estou voltando com uma situação curiosa que passei hoje e vou compartilhar com vocês.

Estava em mais um dia de trabalho, dessa vez criando 4 ambientes com SQL Server 2016. Em uma das etapas do meu checklist estava a configuração do tradicional Database Mail, o qual não esperava problemas, pois o relay de e-mail já estava liberado. Com a conta configurada, foi a vez de fazer o teste rápido de envio de e-mail e foi exatamente ai que me deparei com um problema que nunca tinha passado antes.

Apesar de aparentemente o e-mail de teste ter sido enviado, no Database Mail Log nenhum registro foi gravado e após longos de minutos de espera constatei que realmente o e-mail não iria chegar na minha caixa corporativa. Como sou persistente, fiz o teste de envio diversas vezes, além de reconfigurar o Database Mail, inclusive com outra conta também válida. Após esse esforço sem resultado, comecei a procurar por situações parecidas na internet.

Após um tempo de busca me deparei com alguns relatos avulsos no stackexchange informando que esse problema acontece no SQL Server 2016 devido ao .Net Framework. Após essa dica, consegui filtrar melhor minha pesquisa e encontrei alguns outros casos idênticos ao meu, além da solução.

Acontece o seguinte, como sabemos a partir do SQL Server 2016 não existe mais a dependência do SQL Server com o .Net Framework 3.5 que já existia há algumas versões. O pré-requisito é o .NET Framework 4.6.1 que já é instalado junto do próprio SQL Server.

O caso do Database Mail está diretamente ligado ao .Net 3.5, sendo necessário fazer a sua posterior instalação para que esse problema seja resolvido.

Esse caso foi reportado a Microsoft no meio do ano passado e eles finalizaram a thread na época disponibilizando um Cumulative Update para correção. O curioso é que esse mesmo problema foi apresentado para mim hoje e estou com o SQL Server 2016 SP1 na Build (13.0.4411.0), ou seja, com a atualização mais recente disponibilizada no inicio do ano de 2017.

https://connect.microsoft.com/SQLServer/feedback/details/2900323/sql-server-2016-database-mail-doesnt-work-without-net-3-5

Após a instalação do .Net 3.5 toda fila de e-mail de testes foi enviada de uma vez, resolvendo meu problema. Use a consulta abaixo para verificar as mensagens enviadas pelo Database Mail.

SELECT *
FROM sysmail_allitems

Vou tentar reabrir a thread sobre esse problema no Connect, mas até lá vamos aguardar por uma nova atualização ser disponibilizada com a correção.

Até a próxima!

SQL Server

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s