Freigeben über


Datenmigration (Service Broker)

Gilt für:SQL ServerAzure SQL Managed Instance

Das übliche Verfahren zum Migrieren einer Service Broker-Anwendung besteht darin, die Datenbank, die die Anwendung enthält, in eine andere Instanz der Datenbank-Engine zu verschieben. Viele Aspekte der Service Broker-Anwendung werden 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 Objekte werden mit der Datenbank verschoben. Die meisten Dienstbrokerdatenbanken verfügen über einen Datenbankmasterschlüssel (DMK). Sie müssen das Kennwort für das DMK verwenden, wenn Sie die Datenbank an dem neuen Speicherort anfügen.

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

  • Konfigurieren Sie alle erforderlichen Anmeldungen.

  • Aktualisieren Sie die Dienste, die Unterhaltungen mit dem Dienst initiieren, den Sie verschieben möchten. Ändern Sie in jeder Datenbank, die eine Route für den Dienst enthält, den Sie verschieben, die Route, um die neue Netzwerkadresse zu verwenden.

  • Verwenden Sie die CREATE DATABASE- oder ALTER DATABASE-Anweisung, um die Zustellung von Service Broker-Nachrichten in der wiederhergestellten Datenbank zu aktivieren und um einen anderen Broker-Instanz-Identifier festzulegen. Sie sollten jeweils nur einen Brokerinstanzbezeichner für eine Datenbank im Netzwerk verwenden. Normalerweise ändern Sie den Instanzbezeichner nicht, wenn Sie eine Sicherung wiederherstellen, die mit der ursprünglichen Datenbank identisch sein soll. Sie ändern beispielsweise 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 nicht in der Datenbank enthalten, die den Dienst enthält. 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 wirkt sich nicht auf Endpunkte oder Transportsicherheit für diese Instanz aus. Wenn Ihr Dienst Nachrichten über das Netzwerk sendet oder empfängt, müssen Sie sicherstellen, dass die neue Instanz über einen Service Broker-Endpunkt verfügt. 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 mit dem Dienstprogramm ssbdiagnose nach Service Broker-Fehlern suchen. Weitere Informationen finden Sie unter ssbdiagnose-Dienstprogramm (Service Broker).