Verwalten der Weiterleitung (Service Broker)

Die Nachrichtenweiterleitung ermöglicht einer SQL Server-Instanz die Weiterleitung von Service Broker-Nachrichten zwischen zwei oder mehr anderen Instanzen von SQL Server. Einige Aspekte sind für die Verwaltung einer SQL Server-Instanz zu berücksichtigen, die die Nachrichtenweiterleitung ausführt.

Service Broker verwendet die Routen der msdb-Datenbank sowohl für weitergeleitete Nachrichten als auch für eingehende Nachrichten. Nachdem Sie an der Routingkonfiguration für die Weiterleitung Änderungen vorgenommen haben, müssen Sie eine Sicherungskopie von msdb erstellen.

SQL Server speichert Nachrichten, die an den Arbeitsspeicher weitergeleitet werden sollen, in einer Datenstruktur, die als Übertragungswarteschlange bezeichnet wird. Die Endpunktoption MESSAGE_FORWARDING_SIZE legt den maximalen Arbeitsspeicher (in Megabyte) fest, der von SQL Server zum Speichern von weiterzuleitenden Nachrichten verwendet werden soll. SQL Server ordnet bei Bedarf Arbeitsspeicher, in dem die weiterzuleitenden Nachrichten gespeichert werden, bis zu diesem Grenzwert zu. Wenn eine Nachricht eintrifft, die den Grenzwert für die Größe der Übertragungswarteschlange überschreitet, löscht SQL Server die Nachricht. Wenn jedoch eine große Nachricht fragmentiert wurde, setzt die weiterleitende Instanz die Fragmente nicht wieder zusammen, sondern leitet die Nachrichtenfragmente an das Ziel weiter. Auf diese Weise kann eine weiterleitende Instanz eine Nachricht erfolgreich weiterleiten, die größer ist als die für die Instanz konfigurierte MESSAGE_FORWARDING_SIZE-Option.

Eine Instanz, die die Nachrichtenweiterleitung durchführt, fungiert häufig als Brücke zwischen zwei Netzwerken. Für diese Konfiguration muss die MESSAGE_FORWARDING_SIZE-Option für den Service Broker-Endpunkt möglicherweise relativ groß sein, da der gesamte Verkehr zwischen den beiden Netzwerken durch die Instanz geleitet wird.

Die dynamische Verwaltungssicht sys.dm_broker_forwarded_messages zeigt die Nachrichten, die zum Weiterleiten gespeichert werden.