Condividi tramite


Risoluzione dei problemi relativi alle notifiche delle query: sottoscrizione registrata, messaggio di evento non generato e sottoscrizione rimossa

Se una sottoscrizione viene registrata correttamente ma una query non genera una notifica come previsto anche se la sottoscrizione viene rimossa, SQL Server non può recapitare il messaggio di evento al servizio specificato. In tal caso, l'istruzione che ha aggiornato i dati potrebbe restituire un errore oppure Service Broker potrebbe inviare un errore a QueryNotificationErrorsQueue. SQL Server riceve tali messaggi di errore e registra gli errori nel log errori di SQL Server.

La causa più comune di questo problema è che la richiesta di sottoscrizione non contiene un nome di servizio corrispondente al servizio del database.

Se il comando che modifica i dati non segnala un errore, il problema più probabile è che il servizio che riceve la richiesta non sia configurato correttamente. Per diagnosticare il problema, controllare il log degli errori di SQL Server.

È inoltre possibile verificare se SQL Server ha generato un messaggio di notifica tramite SQL Server Profiler. In SQL Server Profiler, avviare una traccia che visualizza gli eventi nella categoria Query Notifications. Quando SQL Server genera un messaggio di notifica, genera inoltre un evento QN:Subscription con Event SubClass impostata sul valore 3 - Subscription Fired.

Per ulteriori informazioni sulla risoluzione dei problemi relativi al routing e al recapito di messaggi di Service Broker, vedere Risoluzione dei problemi relativi al routing e al recapito dei messaggi.