Files d’attente

S’applique à :SQL ServerAzure SQL Managed Instance

Les files d'attente stockent les messages. Lorsque Service Broker reçoit un message pour un service, il le place dans la file d'attente du service concerné. Pour obtenir les messages envoyés au service, une application réceptionne ces messages à partir de la file d'attente. Service Broker gère les files d'attente et affiche une vue similaire à celle d'une table pour chaque file d'attente.

Chaque service est associé à une file d'attente. Lorsqu'un message destiné à un service se présente, Service Broker le place dans la file d'attente associée au service.

Chaque message représente une ligne dans la file d'attente. La ligne comprend le contenu du message ainsi que des informations se rapportant au message, comme son type, le service qu'il cible, le contrat qu'il respecte, la validation dont il bénéficie, la conversation dont il fait partie, mais aussi des informations internes à la file d'attente. Une application utilise les informations regroupées dans la ligne du message pour identifier chaque message spécifiquement, afin de le traiter de façon appropriée.

Les applications reçoivent les messages de la file d'attente du service. Ces files d'attente retournent, pour chaque conversation, des messages dans l'ordre suivant lequel l'expéditeur les a envoyés. Tous les messages renvoyés à partir d'une opération de réception unique font partie de conversations appartenant à un seul groupe de conversations. En effet, une file d'attente conserve des séries de messages connexes, à raison d'une série par groupe de conversations. La file d'attente retourne une de ces séries chaque fois que l'application effectue une opération de réception à partir de la file d'attente. L’application peut choisir de recevoir des messages pour une conversation spécifique ou un groupe de conversation spécifique. Les files d’attente ne retournent pas les messages selon un ordre strict de premier entré, premier sorti ; au lieu de cela, elles retournent les messages de chaque conversation dans l'ordre où ils ont été envoyés. Par conséquent, une application n’a pas besoin d’inclure du code pour récupérer l’ordre d’origine des messages.

Une file d’attente peut être associée à une procédure stockée. Dans ce cas, SQL Server active la procédure stockée quand il y a des messages à traiter dans la file d’attente. SQL Server peut démarrer plusieurs instances de la procédure stockée, jusqu’à un maximum configuré. Pour plus d’informations, consultez activation de Service Broker.