Share via


Activation basée sur des événements

SQL Server fournit un événement d'activation de file d'attente permettant de notifier les applications externes lorsqu'une file d'attente contient des messages à traiter. Cette rubrique décrit l'événement ainsi que les stratégies pour la réception de l'événement et la réponse à l'événement.

Événement d'activation de file d'attente

SQL Server inclut un événement QUEUE_ACTIVATION. Cet événement signale qu'il existe des tâches disponibles pour un autre agent de lecture de file d'attente. L'événement d'activation contient le nom de la file d'attente ainsi que le nom de la base de données et du schéma qui contiennent la file d'attente. Un programme externe peut utiliser ces informations afin de démarrer le programme approprié pour la lecture de la file d'attente.

SQL Server ne fournit aucune information sur la capacité ou le nombre de processus externes qui lisent dans la file d'attente. Par conséquent, SQL Server produit régulièrement des événements d'activation de file d'attente aussi longtemps que l'activation est nécessaire.

Analyse des événements d'activation à partir d'une application externe

En général, une application externe qui utilise l'activation basée sur des événements crée une notification d'événement sur la file d'attente qui reçoit les messages du service. L'application externe crée un service et une file d'attente pour la réception des messages d'activation, puis elle recherche dans cette file d'attente les messages qui signalent des événements QUEUE_ACTIVATION.

Cette stratégie permet à l'application externe d'utiliser la logique d'activation intégrée à Service Broker pour déterminer à quel moment il n'y a plus de tâches de traitement disponibles pour un agent de lecture de file d'attente. Qui plus est, une application externe a la possibilité d'analyser l'activation pour plusieurs files d'attente et de démarrer le programme approprié lorsque l'activation est requise.