Compartilhar via


Solucionando problemas de notificações de consulta: verificando uma assinatura

As assinaturas para notificações estão armazenadas no banco de dados em que a consulta é executada. Se seu aplicativo não estiver recebendo notificações, solicite uma notificação e então imediatamente verifique para saber se a assinatura aparece na exibição de gerenciamento dinâmico do sys.dm_qn_subscriptions. Se o SQL Server não produzir um evento de notificação e nenhuma assinatura de notificação aparecer, os parâmetros para a solicitação provavelmente são inválidos. Neste caso, o SQL Server recusa a solicitação de notificação. O SQL Server relata as informações sobre solicitações recusadas em dois lugares:

  • Verifique o log de erros do SQL Server para saber se há erros da solicitação de assinatura.

  • Use o SQL Server Profiler e inicie um rastreamento que exiba os eventos na categoria de notificações de consulta. Uma assinatura com êxito acontece quando um evento QN:Subscription é produzido com uma Subclasse de Evento de 1 - Assinatura Registrada.

Observe que as assinaturas de notificação são controladas usando a consulta e a mensagem de notificação. Quando você envia uma assinatura com a mesma mensagem, a mesma consulta e o mesmo serviço de entrega de uma assinatura existente, o SQL Server atualiza o intervalo da assinatura existente em vez de criar uma assinatura nova.

Em geral, quando uma solicitação de assinatura for inválida, o SQL Server produz uma notificação imediatamente. O corpo da mensagem de notificação contém informações adicionais sobre a assinatura.