Migration (Service Broker)

Das übliche Verfahren zum Migrieren einer Service Broker-Anwendung besteht im Verschieben der Datenbank, die die Anwendung enthält, zu einer anderen Instanz von Database Engine (Datenbankmodul). Viele Aspekte der Service Broker-Anwendung werden zusammen mit der Datenbank verschoben. Einige Aspekte der Anwendung müssen erneut erstellt oder am neuen Speicherort neu konfiguriert werden.

Die Datenbank enthält die Service Broker-Objekte, gespeicherte Prozeduren, Zertifikate, Benutzer und ausgehende Routen für die Anwendung. Diese werden zusammen mit der Datenbank verschoben. Die meisten Service Broker-Datenbanken weisen einen Datenbank-Hauptschlüssel auf. Sie müssen das Kennwort für den Hauptschlüssel beim Anfügen der Datenbank am neuen Speicherort verwenden.

Nach dem Verschieben der Datenbank müssen Sie folgende Schritte ausführen:

  • Konfigurieren Sie alle erforderlichen Anmeldungen.

  • Aktualisieren Sie die Dienste, die Konversationen mit dem Dienst initiieren, den Sie verschieben. Ändern Sie in jeder Datenbank, die eine Route für den verschobenen Dienst enthält, die Route, damit die neue Netzwerkadresse verwendet wird.

  • Verwenden Sie die CREATE DATABASE-Anweisung oder die ALTER DATABASE-Anweisung, um die Service Broker-Nachrichtenübermittlung in der wiederhergestellten Datenbank zu aktivieren und einen anderen Brokerinstanzbezeichner festzulegen. Ein Brokerinstanzbezeichner darf jeweils nur von einer Datenbank im Netzwerk verwendet werden. Üblicherweise ändern Sie den Instanzbezeichner nicht, wenn Sie eine Sicherung wiederherstellen, die mit der ursprünglichen Datenbank identisch sein soll. So ändern Sie z. B. den Brokerinstanzbezeichner nicht, wenn Sie eine Datenbank aus einem der folgenden Gründe anfügen:

    • Zum Wiederherstellen einer Datenbank

    • Zum Erstellen eines gespiegelten Paars

    • Zum Konfigurieren des Protokollversands für einen Standbyserver

  • Routen für eingehende Nachrichten sind in der Datenbank, die den Dienst enthält, nicht eingeschlossen. Wenn Ihr Dienst eine explizite Route in der msdb-Datenbank verwendet, um eingehende Nachrichten an den Dienst weiterzuleiten, müssen Sie diese Route erneut erstellen, wenn Sie eine Datenbank in einer anderen Instanz anfügen.

  • Service Broker-Endpunkte und -Transportsicherheit gelten für die gesamte Instanz und nicht nur für eine bestimmte Datenbank. Das Anfügen einer Datenbank an eine neue Instanz hat keine Auswirkungen auf die Endpunkte oder die Transportsicherheit für die betreffende Instanz. Wenn der Dienst Nachrichten über das Netzwerk sendet oder empfängt, müssen Sie sicherstellen, dass die neue Instanz einen Service Broker-Endpunkt aufweist. Stellen Sie auch sicher, dass die Transportsicherheit für die Instanz den Anforderungen der Anwendung entsprechend konfiguriert ist.

Nachdem Sie eine Datenbank verschoben haben, können Sie mithilfe des Dienstprogramms ssbdiagnose überprüfen, ob Service Broker-Fehler aufgetreten sind. Weitere Informationen finden Sie unter Hilfsprogramm 'ssbdiagnose'.