Freigeben über


Ereignisbasierte Aktivierung

SQL Server stellt ein Warteschlangenaktivierungsereignis bereit, um externe Anwendungen zu benachrichtigen, wenn in einer Warteschlange Nachrichten zur Verarbeitung vorliegen. In diesem Thema werden das Ereignis und die Strategien zum Empfang des Ereignisses sowie zur Reaktion auf das Ereignis beschreiben.

Warteschlangenaktivierungsereignis

SQL Server umfasst ein QUEUE_ACTIVATION-Ereignis. Dieses Ereignis meldet, dass sinnvolle Arbeit für einen anderen Warteschlangenleser vorliegt. Das Aktivierungsereignis enthält den Namen der Warteschlange sowie den Namen der Datenbank und des Schemas, die die Warteschlange enthalten. Ein externes Programm kann anhand dieser Informationen das richtige Programm zum Einlesen der Warteschlange starten.

SQL Server kann die Kapazität oder die Anzahl externer Prozesse, die Daten aus der Warteschlange einlesen, nicht nachverfolgen. Daher erzeugt SQL Server in regelmäßigen Abständen Warteschlangenaktivierungsereignisse, solange die Aktivierung erforderlich ist.

Überwachen von Aktivierungsereignissen in einer externen Anwendung

Eine externe Anwendung mit ereignisbasierter Aktivierung erstellt gewöhnlich eine Ereignisbenachrichtigung für die Warteschlange, die Nachrichten für den Dienst empfängt. Die externe Anwendung erstellt einen Dienst und eine Warteschlange für den Empfang der Aktivierungsnachrichten und überwacht diese Wartschlange dann auf Nachrichten, in denen QUEUE_ACTIVATION-Ereignisse gemeldet werden.

Durch diese Strategie kann die externe Anwendung mithilfe der in Service Broker integrierten Aktivierungslogik bestimmen, wann weitere Arbeit für einen Warteschlangenleser vorliegt. Außerdem kann eine externe Anwendung so die Aktivierung für eine Reihe von Warteschlangen überwachen und das entsprechende Programm starten, wenn eine Aktivierung erforderlich ist.