Implementieren der internen Aktivierung

Dieses Lernprogramm richtet sich an Benutzer, die Service Broker zum ersten Mal verwenden, jedoch mit Datenbankbegriffen und Transact-SQL-Anweisungen vertraut sind. Neue Benutzer erfahren, wie sie eine gespeicherte Prozedur für die interne Aktivierung implementieren, um Service Broker-Nachrichten zu verarbeiten.

Lernziele

In diesem Lernprogramm erfahren Sie, wie mithilfe einer gespeicherten Prozedur für die interne Aktivierung die Datenbankobjekte erstellt werden, die zum Unterstützen einer einfachen Anforderungs-Antwort-Konversation in Service Broker erforderlich sind. Anschließend starten Sie eine Konversation und verwenden sie zum Übertragen von Nachrichten.

Jede Service Broker-Konversation hat zwei Enden: den Konversationsinitiator und das Ziel. In einer Anforderungs-Antwort-Konversation wird eine Anforderungsnachricht vom Initiator an das Ziel gesendet, das eine Antwortnachricht zurückgibt. Die interne Service Broker-Aktivierung kann verwendet werden, um immer dann eine gespeicherte Prozedur auszuführen, wenn zu verarbeitende Nachrichten vorhanden sind. Wenn eine große Anzahl von Nachrichten übertragen wird, kann Service Broker mehrere Kopien der gespeicherten Prozedur ausführen. In diesem Lernprogramm erfahren Sie, wie Sie eine gespeicherte Prozedur zum Empfang der Anforderungsnachrichten am Ziel erstellen und das Ziel so konfigurieren, dass die interne Aktivierung verwendet wird, um die gespeicherte Prozedur auszuführen.

Sie führen dabei folgende Aufgaben aus:

  • Erstellen von Dienst und Warteschlange für das Ziel und Dienst und Warteschlange für den Initiator

  • Erstellen eines Anforderungsnachrichtentyps und eines Antwortnachrichtentyps

  • Erstellen eines Vertrags, der angibt, dass Anforderungsnachrichten vom Initiator an das Ziel und Antwortnachrichten vom Ziel an den Initiator gesendet werden

  • Erstellen einer gespeicherten Prozedur, durch die Anforderungsnachrichten von der Zielwarteschlange empfangen und Antwortnachrichten an den Initiator gesendet werden

  • Ändern der Zielwarteschlange, um die interne Aktivierung der gespeicherten Prozedur zu ermöglichen

Anschließend führen Sie eine einfache Konversation aus:

  • Starten Sie die Konversation.

  • Senden Sie eine Anforderung vom Initiator an das Ziel.

  • Service Broker aktiviert dann die gespeicherte Prozedur. Die gespeicherte Prozedur empfängt die Anforderung am Ziel und sendet eine Antwort an den Initiator.

  • Empfangen Sie die Antwort am Initiator.

  • Beenden Sie die Initiatorseite der Konversation.

  • Service Broker aktiviert daraufhin die gespeicherte Prozedur zum zweiten Mal, und diese beendet die Zielseite der Konversation.

Nachrichten werden für Konversationen, bei denen sich beide Enden in derselben Instanz von Database Engine (Datenbankmodul) befinden, nicht über ein Netzwerk übertragen. Die Database Engine (Datenbankmodul)-Sicherheit und Berechtigungen schränken den Zugriff auf autorisierte Prinzipale ein. Für dieses Szenario ist keine Netzwerkverschlüsselung erforderlich.

Dieses Lernprogramm ist in drei Lektionen aufgeteilt:

Anforderungen

Um dieses Lernprogramm abzuschließen, sollten Sie mit der Transact-SQL-Sprache und der Verwendung des Database Engine (Datenbankmodul)-Abfrage-Editors in SQL Server Management Studio vertraut sein. Sie müssen Mitglied der festen Datenbankrolle db_ddladmin oder db_owner für die AdventureWorks-Beispieldatenbank oder der festen Serverrolle sysadmin sein.

Auf dem System muss Folgendes installiert sein: