Condividi tramite


Risoluzione dei problemi relativi alla notifica delle query: Verifica di una sottoscrizione

Le sottoscrizioni per le notifiche sono archiviate nel database in cui viene eseguita la query. Se l'applicazione in uso non riceve le notifiche, è possibile richiedere una notifica e verificare immediatamente se la sottoscrizione viene visualizzata nella vista a gestione dinamica sys.dm_qn_subscriptions. Se in SQL Server non viene creato un evento di notifica e non viene visualizzata alcuna sottoscrizione di notifica, è probabile che i parametri della richiesta non siano corretti. In questo caso, SQL Server rifiuta la richiesta di notifica. In SQL Server è possibile ottenere le informazioni relative alle richieste rifiutate in due modi:

  • Verificare se nel log degli errori di SQL Server sono presenti errori relativi alla richiesta di sottoscrizione.

  • In SQL Server Profiler, avviare una traccia che visualizza gli eventi della categoria relativa alla notifica delle query. Una sottoscrizione ha esito positivo se viene generato un evento QN:Subscription e il valore di Event SubClass è 1 - Sottoscrizione registrata.

Si noti che le sottoscrizioni di notifica vengono rilevate tramite la query e il messaggio di notifica. Se si invia una sottoscrizione con lo stesso messaggio, la stessa query e lo stesso servizio di recapito di una sottoscrizione esistente, SQL Server aggiorna il timeout della sottoscrizione esistente anziché creare una nuova sottoscrizione.

In genere, se una richiesta di sottoscrizione non è valida, SQL Server crea immediatamente una notifica. Il corpo del messaggio di notifica contiene informazioni aggiuntive sulla sottoscrizione.