Temos um procedimento armazenado com muitas consultas de servidor vinculado. Ao executá-lo exibe um Warning:
Aviso: o valor nulo é eliminado por uma agregação ou outra operação SET.
Para suprimir isso, tentei:
DESATIVAR ANSI_WARNINGS
Mas isso lançou este erro:
As consultas heterogêneas exigem que as opções ANSI_NULLS e ANSI_WARNINGS sejam definidas para a conexão. Isso garante uma semântica de consulta consistente. Ative essas opções e emita novamente sua consulta.
Todos os artigos que examinei mencionam a configuração de ANSI_WARNINGS como ON para fazê-lo funcionar.
Mas eu absolutamente não quero ver esses avisos, porque estou enviando os resultados da consulta como anexo em sp_send_dbmail, que tem essa mensagem de aviso bem no topo do anexo.
É possível suprimir os warnings para consultas heterogêneas?
Isso deve remover seu aviso.
Esqueça, encontrei uma solução alternativa. O código ficou assim:
Eu modifiquei para:
e funcionou!
O SQL deseja que os avisos sejam ativados APENAS ao executar consultas remotas. Felizmente, no meu caso, o Group By (que gera os avisos de valor nulo) é feito localmente, então eu 'enganei' o SQL ativando os avisos antes da consulta remota.
Se, no entanto, seu Group By fizer parte da consulta RemoteServer, você está sem sorte e precisa extrair dados localmente antes de agrupar.