Activering op basis van gebeurtenissen

Van toepassing op:SQL ServerAzure SQL Managed Instance

SQL Server biedt een gebeurtenis voor wachtrijactivering om externe toepassingen op de hoogte te stellen wanneer een wachtrij berichten bevat die moeten worden verwerkt. In dit onderwerp worden de gebeurtenissen en strategieën beschreven voor het ontvangen en reageren op de gebeurtenis.

Gebeurtenis voor wachtrijactivering

SQL Server bevat een QUEUE_ACTIVATION gebeurtenis. Deze gebeurtenis meldt dat er nuttig werk is voor een andere wachtrijlezer. De activeringsbeurtenis bevat de naam van de wachtrij en de naam van de database en het schema die de wachtrij bevatten. Een extern programma kan deze informatie gebruiken om het juiste programma te starten om uit de wachtrij te lezen.

SQL Server kan de capaciteit of het aantal externe processen die uit de wachtrij worden gelezen, niet bijhouden. Daarom produceert SQL Server periodiek wachtrijactiveringsevenementen zolang de activering is vereist.

Activeringsevenementen van een externe toepassing bewaken

Een externe toepassing die gebruikmaakt van activering op basis van gebeurtenissen, maakt doorgaans een gebeurtenismelding in de wachtrij die berichten voor de service ontvangt. De externe toepassing maakt een service en wachtrij voor het ontvangen van de activeringsberichten en bewaakt vervolgens die wachtrij voor berichten die QUEUE_ACTIVATION gebeurtenissen rapporteren.

Met deze strategie kan de externe toepassing gebruikmaken van de activeringslogica die is ingebouwd in Service Broker om te bepalen wanneer er meer werk is voor een wachtrijlezer. Bovendien is het mogelijk dat één externe toepassing de activering voor een aantal wachtrijen bewaakt en het juiste programma start wanneer activering is vereist.