Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Managed Instance
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 un travail utile pour un autre lecteur 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 peut pas suivre la capacité ou le nombre de processus externes qui lisent à partir de 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.
Surveiller les é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 recevoir les messages d’activation, puis surveille cette file d’attente pour 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 s’il y a plus de travail pour un lecteur de file d’attente. En outre, il est possible pour une application externe de surveiller l’activation d’un certain nombre de files d’attente et de démarrer le programme approprié lorsque l’activation est requise.