Estou usando o driver ODBC da Microsoft em um sistema Linux para conectar ao SQL Server 2012 no Windows para usar o recurso de notificação de consulta . Eu corro meu código C e posso ver minha assinatura aparecer sys.dm_qn_subscriptions
como eu esperava, então meu código envia um WAITFOR
e bloqueia - tudo bem até agora. Então eu faço uma transação que acionará a notificação, e eu a recebo - ainda bem. O que eu gostaria de fazer é processar a notificação e fazer um loop novamente, WAITFOR
mas após a primeira notificação, minha assinatura não aparece mais no DMV. Minha pergunta é: esse é o comportamento pretendido e eu devo me inscrever novamente sempre ou algo estranho está acontecendo?
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
A notificação de consulta é removida após o envio da mensagem, portanto, você precisará se inscrever novamente se quiser continuar recebendo notificações. Aqui está o trecho relevante do documento que você referenciou.