Dépannage des notifications relatives aux requêtes : abonnement enregistré, message d'événement non produit, abonnement supprimé
Si un abonnement est enregistré correctement mais qu'une requête chargée d'émettre une notification ne remplit pas ses fonctions même si l'abonnement est supprimé, SQL Server ne peut alors pas remettre le message relatif à l'événement au service spécifié. Dans ce cas, il se peut que l'instruction qui a mis à jour les données renvoie une erreur ou que Service Broker transmette une erreur à QueryNotificationErrorsQueue. SQL Server reçoit ces messages d'erreur et écrit leurs informations dans le journal des erreurs de SQL Server.
La cause la plus courante de ce problème est que la demande d'abonnement ne contient pas de nom de service correspondant à un service dans la base de données.
Si la commande chargée de modifier les données ne signale pas d'erreur, il est plus que probable que le problème provienne du fait que le service qui reçoit la demande n'est pas correctement configuré. Pour diagnostiquer ce problème, passez en revue le journal des erreurs de SQL Server.
Vous pouvez également confirmer si SQL Server a produit un message de notification grâce au Générateur de profils SQL Server. Dans le Générateur de profils SQL Server, démarrez une trace affichant les événements de la catégorie Notifications de requêtes. Lorsque SQL Server émet un message de notification, il produit également un événement QN:Subscription avec une sous-classe d'événements3 - Abonnement déclenché.
Pour plus d'informations sur le dépannage du routage et de la remise de messages Service Broker, consultez Résolution des problèmes de routage et de remise de messages.
Voir aussi
Autres ressources
sys.services (Transact-SQL)
Résolution des problèmes de routage et de remise de messages
Guide de référence du Générateur de profils SQL Server