Aktualisieren von replizierten DatenbankenUpgrade Replicated Databases

GILT FÜR: jaSQL Server (nur Windows) neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server (Windows only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server unterstützt das Aktualisieren replizierter Datenbanken von früheren Versionen von SQL ServerSQL Server. Während der Aktualisierung eines Knotens müssen die auf anderen Knoten ausgeführten Aktivitäten nicht beendet werden. supports upgrading replicated databases from previous versions of SQL ServerSQL Server; it is not required to stop activity at other nodes while a node is being upgraded. Stellen Sie sicher, dass die Regeln, die im Hinblick auf die in einer Topologie unterstützten Versionen gelten, eingehalten werden:Ensure that you adhere to the rules regarding which versions are supported in a topology:

  • Für den Verteiler ist jede Version zulässig, die der Verleger-Version entspricht oder höher als diese ist. (In vielen Fällen gehören Verteiler und Verleger derselben Instanz an.)A Distributor can be any version as long as it is greater than or equal to the Publisher version (in many cases the Distributor is the same instance as the Publisher).

  • Für den Verleger ist jede Version zulässig, die der Verteiler-Version entspricht oder niedriger als diese ist.A Publisher can be any version as long as it less than or equal to the Distributor version.

  • Die Abonnenten-Version ist vom Veröffentlichungstyp abhängig:Subscriber version depends on the type of publication:

    • Ein Abonnent einer Transaktionsveröffentlichung kann einer der beiden Versionen im Rahmen der Verlegerversion angehören.A Subscriber to a transactional publication can be any version within two versions of the Publisher version. Beispiel: Ein SQL Server 2012 (11.x)SQL Server 2012 (11.x) -Verleger kann mit SQL Server 2014 (12.x)SQL Server 2014 (12.x) - und SQL Server 2016 (13.x)SQL Server 2016 (13.x) -Abonnenten verwendet werden; und ein SQL Server 2016 (13.x)SQL Server 2016 (13.x) -Verleger kann mit SQL Server 2014 (12.x)SQL Server 2014 (12.x) - und SQL Server 2012 (11.x)SQL Server 2012 (11.x) -Abonnenten verwendet werden.For example: a SQL Server 2012 (11.x)SQL Server 2012 (11.x) Publisher can have SQL Server 2014 (12.x)SQL Server 2014 (12.x) and SQL Server 2016 (13.x)SQL Server 2016 (13.x) Subscribers; and a SQL Server 2016 (13.x)SQL Server 2016 (13.x) Publisher can have SQL Server 2014 (12.x)SQL Server 2014 (12.x) and SQL Server 2012 (11.x)SQL Server 2012 (11.x) Subscribers.

    • Für einen Abonnenten einer Mergeveröffentlichung ist jede Version zulässig, die der Verleger-Version entspricht oder niedriger als diese ist.A Subscriber to a merge publication can be any version less than or equal to the Publisher version.

Hinweis

Dieser Artikel ist sowohl in der Hilfe zum Setup als auch in der SQL ServerSQL Server-Onlinedokumentation enthalten.This article is available in the Setup Help documentation and in SQL ServerSQL Server Books Online. Über die fett formatierten Links in der Hilfe zum Setup gelangen Sie zu Artikeln, die nur in der Onlinedokumentation verfügbar sind.article links that appear as bold text in the Setup Help documentation refer to articles that are only available in Books Online. Sie können eine Upgradestrategie für den Verleger, Abonnenten und Verteiler erstellen, indem Sie die Optionen verwenden, die in diesem post (Beitrag) beschrieben werden.You can design an upgrade strategy for the Publisher, Subscriber and Distributor using the options outlined in this post.

Führen Sie den Protokolllese-Agent für die Transaktionsreplikation vor dem Upgrade aus.Run the Log Reader Agent for Transactional Replication Before Upgrade

Bevor Sie SQL ServerSQL Serveraktualisieren, müssen Sie sich vergewissern, dass alle Transaktionen mit ausgeführtem Commit von veröffentlichten Tabellen vom Protokolllese-Agent verarbeitet wurden.Before you upgrade SQL ServerSQL Server, you must make sure that all committed transactions from published tables have been processed by the Log Reader Agent. Um sicherzustellen, dass alle Transaktionen verarbeitet wurden, führen Sie die folgenden Schritte für jede Datenbank aus, die Transaktionsveröffentlichungen enthält:To make sure that all transactions have been processed, perform the following steps for each database that contains transactional publications:

  1. Stellen Sie sicher, dass der Protokolllese-Agent für die Datenbank ausgeführt wird.Make sure that the Log Reader Agent is running for the database. Standardmäßig wird der Agent ununterbrochen ausgeführt.By default, the agent runs continuously.

  2. Beenden Sie die Benutzeraktivität auf veröffentlichten Tabellen.Stop user activity on published tables.

  3. Warten Sie eine gewissen Zeit, bis der Protokolllese-Agent die Transaktionen in die Verteilungsdatenbank kopiert hat, und beenden Sie dann den Agent.Allow time for the Log Reader Agent to copy transactions to the distribution database, and then stop the agent.

  4. Führen Sie sp_replcmds aus, um zu überprüfen, ob alle Transaktionen verarbeitet wurden.Execute sp_replcmds to verify that all transactions have been processed. Das Resultset dieser Prozedur sollte leer sein.The result set from this procedure should be empty.

  5. Führen Sie sp_replflush aus, um die Verbindung von „sp_replcmds“ zu trennen.Execute sp_replflush to close the connection from sp_replcmds.

  6. Führen Sie das Serverupgrade auf die neueste Version von SQL ServerSQL Server durch.Perform the server upgrade to the latest verison of SQL ServerSQL Server.

  7. Starten Sie den SQL ServerSQL Server -Agent und den Protokolllese-Agent neu, wenn sie nach dem Upgrade nicht automatisch starten.Restart SQL ServerSQL Server Agent and the Log Reader Agent if they do not start automatically after the upgrade.

Ausführen von Agents nach dem Upgrade für die MergereplikationRun Agents for Merge Replication After Upgrade

Führen Sie nach dem Upgrade für jede Mergeveröffentlichung den Momentaufnahme-Agent und für jedes Abonnement den Merge-Agent aus, um die Replikationsmetadaten zu aktualisieren.After upgrade, run the Snapshot Agent for each merge publication and the Merge Agent for each subscription to update replication metadata. Sie müssen die neue Momentaufnahme nicht anwenden, da sie für die erneute Initialisierung der Abonnements nicht benötigt wird.You do not have to apply the new snapshot, because it is not necessary to reinitialize subscriptions. Die Metadaten des Abonnements werden aktualisiert, sobald der Merge-Agent zum ersten Mal nach dem Upgrade ausgeführt wird.Subscription metadata is updated the first time the Merge Agent is run after upgrade. Dies bedeutet, dass die Abonnementdatenbank während des Upgrades des Verlegers online und aktiv bleiben kann.This means that the subscription database can remain online and active during the Publisher upgrade.

Die Mergereplikation speichert die Metadaten der Veröffentlichung und des Abonnements in einer Reihe von Systemtabellen in den Veröffentlichungs- und Abonnement-Datenbanken.Merge replication stores publication and subscription metadata in a number of system tables in the publication and subscription databases. Bei Ausführung des s werden die Veröffentlichungsmetadaten aktualisiert, und bei Ausführung des Merge-Agents werden die Abonnementmetadaten aktualisiert.Running the Snapshot Agent updates publication metadata and running the Merge Agent updates subscription metadata. Der Agent wird nur benötigt, um eine Momentaufnahme der Veröffentlichung zu generieren.It is only required to generate a publication snapshot. Wenn bei einer Mergeveröffentlichung parametrisierte Filter verwendet werden, gibt es auch für jede Partition eine Momentaufnahme.If a merge publication uses parameterized filters, each partition also has a snapshot. Diese partitionierten Momentaufnahmen zu aktualisieren, ist nicht erforderlich.It is not necessary to update these partitioned snapshots.

Die Agents werden in SQL Server Management StudioSQL Server Management Studio, im Replikationsmonitor oder in der Befehlszeile ausgeführt.Run the agents from SQL Server Management StudioSQL Server Management Studio, Replication Monitor, or from the command line. Weitere Informationen zum Ausführen des Momentaufnahme-Agents finden Sie in den folgenden Artikeln:For more information about running the Snapshot Agent, see the following articles:

Aktualisieren auf die Standard Edition, Workgroup Edition oder Express EditionUpgrading to Standard, Workgroup, or Express Editions

Bevor eine Edition von SQL ServerSQL Server auf eine andere Edition aktualisiert wird, sollten Sie überprüfen, ob die derzeit verwendete Funktionalität in der Edition, die Ziel des Upgrades ist, unterstützt wird.Before upgrading from one edition of SQL ServerSQL Server to another, verify that the functionality you are currently using is supported in the edition to which you are upgrading. Weitere Informationen finden Sie im Abschnitt zur Replikation im Thema Editions and supported features of SQL Server (Editionen und unterstützte Funktionen von SQL Server).For more information, see the section on Replication in Editions and supported features of SQL Server.

Websynchronisierung für die MergereplikationWeb Synchronization for Merge Replication

Bei der Websynchronisierung für die Mergereplikation ist es erforderlich, dass die SQL ServerSQL Server -Replikationsüberwachung (replisapi.dll) in das virtuelle Verzeichnis auf dem Server mit Internetinformationsdienste (Internet Information Services, IIS) kopiert wird, der für die Synchronisierung verwendet wird.The Web synchronization option for merge replication requires that the SQL ServerSQL Server Replication Listener (replisapi.dll) be copied to the virtual directory on the Internet Information Services (IIS) server used for synchronization. Wenn Sie die Websynchronisierung konfigurieren, wird die Datei vom Assistenten zum Konfigurieren der Websynchronisierung in das virtuelle Verzeichnis kopiert.When you configure Web synchronization, the file is copied to the virtual directory by the Configure Web Synchronization Wizard. Wenn Sie die auf dem IIS-Server installierten SQL ServerSQL Server -Komponenten aktualisieren, müssen Sie replisapi.dll manuell vom Verzeichnis COM in das virtuelle Verzeichnis auf dem IIS-Server kopieren.If you upgrade the SQL ServerSQL Server components installed on the IIS server, you must manually copy replisapi.dll from the COM directory to the virtual directory on the IIS server. Weitere Informationen zur Konfiguration der Websynchronisierung finden Sie unter Konfigurieren der Websynchronisierung.For more information about configuring Web synchronization, see Configure Web Synchronization.

Wiederherstellen einer replizierten Datenbank von einer früheren VersionRestoring a Replicated Database from an Earlier Version

Um sicherzustellen, dass die Replikationseinstellungen beibehalten werden, wenn die Sicherung einer replizierten Datenbank mithilfe einer früheren Version wiederhergestellt wird, stellen Sie die Sicherung auf einem Server und in einer Datenbank wieder her, deren Namen mit den Namen des Servers und der Datenbank übereinstimmen, von dem bzw. der die Sicherung erstellt wurde.To ensure replication settings are retained when restoring a backup of a replicated database from a previous version: restore to a server and database with the same names as the server and database at which the backup was taken.

Weitere Informationen finden Sie unterSee Also

Verwaltung (Replikation) Administration (Replication)
Abwärtskompatibilität von Replikationen Replication Backward Compatibility
Neuigkeiten (Replikation) What's New (Replication)
Unterstützte Versions- und Editionsupgrades Supported Version and Edition Upgrades
Aktualisieren von SQL ServerUpgrade SQL Server