SQL 2008 - problema de correio db

2

Eu tenho duas instâncias do SQL Server 2008. Uma delas foi atualizada do SQL Server 2000 e uma foi uma instalação nova e limpa. As instâncias estão sendo executadas em nós diferentes do mesmo cluster, embora eu tenha tentado tê-los no mesmo nó com resultados idênticos.

O SQL Mail opera perfeitamente em ambas as instâncias.

O DB Mail funciona perfeitamente na instância recém-instalada.

Na instância atualizada, o DB Mail não envia nenhum email. É claro que não estou certo de que o fato de essa instância ser atualizada tenha algo a ver com o problema, mas pode acontecer.

A configuração do meu perfil e conta de correio do banco de dados parece idêntica à minha instância de funcionamento. Na configuração da guia "alertas" nas propriedades do SQL Agent, tentei selecionar o DB Mail e o SQL Mail sem sucesso. Ambas as instâncias usam o mesmo servidor SMTP com a mesma autenticação (domínio com conta de mecanismo db).

Todas as mensagens enviadas via e-mail sp_send_db e as enviadas por meio da opção 'teste e-mail' ficam visíveis na fila sysmail_allitems e permanecem como 'não enviadas'. O send_status eventualmente muda para 'failed'.

As únicas mensagens no sysmail_event_log são 'fila de mensagens interrompida pelo domínio de login \ myuser', 'fila de mensagens iniciada por login domain / myuser' e 'activiation successful'.

selecionar a partir do externalmailqueue tem o mesmo número de linhas que sysmail_allitems. Eu tentei saltar o agente, a instância inteira e mover a outra instância de funcionamento para o outro nó no cluster.

algum pensamento? thx.

    
por LapTop006 26.03.2010 / 17:00

3 respostas

0

O seu servidor SMTP controla o acesso a si mesmo com base em IP? Você pode enviar mensagem de teste do banco de dados e postar resultados ou erro do log de erros?

    
por 26.03.2010 / 17:05
0

O servidor SMTP, acredito, apenas controla com base em credenciais e não em IP. Ambas as instâncias usam as mesmas credenciais.

Nada aparece no SQL ERRORLOG. Aqui está a mensagem no Visualizador de Eventos do Windows: Houve um erro na conexão. Razão: Ocorreu um erro relacionado à rede ou a uma instância específica ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: Interfaces de Rede SQL, erro: 26 - Erro ao localizar Servidor / Instância Especificada), parâmetros de conexão: Nome do servidor: vnn \ instance, Nome do banco de dados: msdb Ocorreu um erro relacionado à rede ou a uma instância específica ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: Interfaces de rede SQL, erro: 26 - Erro ao localizar servidor / instância especificado)

Não entendo como o e-mail do db não pode se conectar à instância em que está sendo executado.

    
por 26.03.2010 / 17:32
0

Não tenho uma resposta específica, mas posso fornecer algumas informações sobre algumas das coisas que usei para depurar o DB Mail. O software antivírus e os filtros de spam geralmente podem ser um problema. Certifique-se de que não haja nenhum software antivírus no servidor que esteja bloqueando o envio de e-mails do DB Mail e verifique se as mensagens não estão sendo bloqueadas por um filtro de spam.

Eu também recomendaria usar o telnet ou algo como SMTPDiag para garantir que não seja um problema de conexão SMTP.

Ele também pode ajudar a alterar o log de email do banco de dados para verbose. Para fazer isso, vá para o SQL Server Management Studio, clique com o botão direito do mouse em Database Mail e selecione 'Configure Database Mail'. No assistente 'Configure Database Mail', selecione 'View or change system parameters'. Haverá uma opção para definir o nível de log, configure-o para verbose. Isso fornecerá mais detalhes no log de email do banco de dados. Depois de corrigir o problema, você deverá alterá-lo novamente para um nível de registro mais baixo.

Se você acredita que o problema com o banco de dados msdb está relacionado, recomendo executar um rastreamento do SQL Server Profiler no banco de dados msdb. Certifique-se de incluir o Evento de Falha no Login de Auditoria. Enquanto o rastreio está em execução, tente enviar um email de teste com o correio do banco de dados.

    
por 22.06.2010 / 02:28