Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Azure SQL Managed Instance
In diesem Abschnitt werden die Datenbankobjekte beschrieben, die das Grundkonzept einer Anwendung mit Service Broker bestimmen.
Zur Entwurfszeit geben Service Broker-Anwendungen die folgenden Objekte an:
Nachrichtentypen: Definieren die Namen von Nachrichten, die zwischen Anwendungen ausgetauscht werden. Optional bieten sie eine Überprüfung der Nachrichten.
Verträge: Geben Richtung und Typ von Nachrichten in einer bestimmten Konversation an.
Warteschlangen: Speichern Nachrichten. Dieser Speichermechanismus ermöglicht die asynchrone Kommunikation zwischen Diensten. Service Broker-Warteschlangen bieten zusätzliche Vorteile, etwa das automatische Sperren von Nachrichten in der gleichen Konversationsgruppe.
Dienste: Sind adressierbare Endpunkte für Konversationen. Service Broker-Nachrichten werden von einem Dienst an einen anderen Dienst gesendet. Ein Dienst gibt eine Warteschlange zum Aufbewahren von Nachrichten sowie Verträge an, für die der Dienst das Ziel sein kann. Ein Vertrag stellt einem Dienst einen richtig definierten Satz von Nachrichtentypen bereit.
Eine Service Broker-Anwendung verwendet die SQL Server-Objekte aus der obigen Liste für eine Konversation. Jedes Programm, das Transact-SQL-Anweisungen in SQL Server ausführen kann, kann Service Broker verwenden. Anwendungen können gespeicherte Prozeduren sein, die in Transact-SQL oder in einer CLR-kompatiblen Sprache geschrieben sind, oder es können externe Programme sein, die eine Verbindung mit einer Instanz von SQL Server herstellen.
Das folgende Diagramm zeigt einen Service Broker-Dienst:
Wie in der Illustration zu sehen, gibt der Vertrag ProcessExpenses drei Nachrichtentypen an: SubmitExpense, AcceptDenyExpense und ReimbursementIssued. Der Vertrag listet die Nachrichtentypen auf, die für eine Konversation notwendig sind, bei der ein Kostenerstattungstask ausgeführt wird. Der Vertrag ProcessExpenses bestimmt alle Konversationen zwischen dem Dienst ProcessExpense und beliebigen Diensten, die eine Konversation mit dem Dienst ProcessExpense initiieren. Der Dienst ProcessExpense speichert eingehende und ausgehende Nachrichten in der Warteschlange ExpenseQueue. Die gespeicherte Prozedur ExpenseProcessing empfängt Nachrichten aus dieser Warteschlange, verarbeitet sie und sendet sie an die Warteschlange zurück, von wo aus sie an den richtigen Broker weitergeleitet werden, wenn eine Antwort erforderlich ist.
In diesem Abschnitt
Nachrichtentypen
Teilnehmer an einer Konversation müssen sich auf den Namen und den Inhalt jeder Nachricht einigen. Nachrichtentypen definieren Namen und Inhalt.Verträge
Verträge definieren, welche Nachrichtentypen eine Anwendung verwendet, um eine bestimmte Aufgabe auszuführen.Warteschlangen
Warteschlangen speichern Service Broker-Nachrichten.Dienste
Service Broker-Dienste sind Namen für bestimmte Geschäftsaufgaben oder Gruppen von Geschäftsaufgaben.