Verwalten einer Peer-zu-Peer-Topologie (Replikationsprogrammierung mit Transact-SQL)Administer a Peer-to-Peer Topology (Replication Transact-SQL Programming)

Gilt für: JaSQL Server NeinAzure SQL-Datenbank NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Das Verwalten einer Peer-zu-Peer-Topologie ist mit dem Verwalten einer typischen Transaktionsreplikationstopologie zu vergleichen, allerdings sind für einige Bereiche Besonderheiten zu beachten.Administering a peer-to-peer topology is similar to administering a typical transactional replication topology, but there are a number of areas with special considerations. Der Hauptunterschied beim Verwalten einer Peer-zu-Peer-Topologie besteht darin, dass das System aufgrund einiger Änderungen in einen inaktiven Status versetzt werden muss.The principal difference in administering a peer-to-peer topology is that some changes require the system to be quiesced. Um das System in einen inaktiven Status zu versetzen, beenden Sie alle Aktivitäten in veröffentlichten Tabellen auf allen Knoten, und stellen Sie sicher, dass jeder Knoten alle Änderungen sämtlicher anderen Knoten empfangen hat.Quiescing a system involves stopping activity on published tables at all nodes and ensuring that each node has received all changes from all other nodes. Weitere Informationen finden Sie unter Versetzen einer Replikationstopologie in einen inaktiven Status (Replikationsprogrammierung mit Transact-SQL).For more information, see Quiesce a Replication Topology (Replication Transact-SQL Programming).

Hinweis

In einer Peer-zu-Peer-Topologie kann der Verteiler keine frühere SQL ServerSQL Server-Version verwenden als ein Pullabonnent.In a peer-to-peer topology, the distributor cannot be using an earlier version of SQL ServerSQL Server than a pull subscriber.

So fügen Sie einer vorhandenen Konfiguration einen Artikel hinzuTo add an article to an existing configuration

  1. Versetzen Sie das System in einen inaktiven Status.Quiesce the system.

  2. Beenden Sie den Verteilungs-Agent in jedem Knoten in der Topologie.Stop the Distribution Agent at each node in the topology. Weitere Informationen finden Sie unter Ausführbare Konzepte für die Programmierung von Replikations-Agents oder Starten und Beenden eines Replikations-Agents (SQL Server Management Studio).For more information, see Replication Agent Executables Concepts or Start and Stop a Replication Agent (SQL Server Management Studio).

  3. Führen Sie die CREATE TABLE-Anweisung aus, um die neue Tabelle in jedem Knoten in der Topologie hinzuzufügen.Execute the CREATE TABLE statement to add the new table at each node in the topology.

  4. Kopieren Sie die Daten mithilfe des Hilfsprogramms "bcp"in einem Massenkopiervorgang für die neue Tabelle manuell in alle Knoten.Bulk copy the data for the new table manually at all nodes by using the bcp utility.

  5. Führen Sie sp_addarticle aus, um den neuen Artikel in jedem Knoten in der Topologie zu erstellen.Execute sp_addarticle to create the new article at each node in the topology. Weitere Informationen finden Sie unter Definieren eines Artikels.For more information, see Define an Article.

    Hinweis

    Nach dem Ausführen von sp_addarticle fügt die Replikation den Artikel automatisch den Abonnements in der Topologie hinzu.After sp_addarticle is executed, replication automatically adds the article to the subscriptions in the topology.

  6. Starten Sie die Verteilungs-Agents in jedem Knoten in der Topologie neu.Restart the Distribution Agents at each node in the topology.

So nehmen Sie an einer Veröffentlichungsdatenbank Schemaänderungen vorTo make schema changes to a publication database

  1. Versetzen Sie das System in einen inaktiven Status.Quiesce the system.

  2. Führen Sie die DDL-Anweisungen (Data Definition Language) aus, um das Schema veröffentlichter Tabellen zu ändern.Execute the data definition language (DDL) statements to modify the schema of published tables. Weitere Informationen zu unterstützten Schemaänderungen finden Sie unter Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken.For more information about supported schema changes, see Make Schema Changes on Publication Databases.

  3. Versetzen Sie das System erneut in einen inaktiven Status, bevor Sie die Aktivitäten an veröffentlichten Tabellen fortsetzen.Before you resume activity on published tables, quiesce the system again. So kann sichergestellt werden, dass alle Knoten die Schemaänderungen erhalten haben, bevor neue Datenänderungen repliziert werden.This ensures that schema changes have been received by all nodes before any new data changes are replicated.

BeispielExample

Im folgenden Beispiel wird das Hinzufügen eines neuen Tabellenartikels zu einer vorhandenen Peer-zu-Peer-Topologie mit zwei Knoten veranschaulicht:The following example demonstrates how to add a new table article to an existing peer-to-peer replication topology that has two nodes.

-- Create the new table at both nodes.
CREATE TABLE AdventureWorks2012.dbo.ProductTest (column1 int, Column2 int);
CREATE TABLE AdventureWorks2012Replica.dbo.ProductTest (column1 int, Column2 int);
GO
REM Bulk insert data into both the publication and subscription databases.
REM The BCP format depends on the snapshot format (native or character).
REM Execute at the command prompt.

bcp AdventureWorks2012..ProductTest in NewTable.bcp -T -SMYPUBLISHER n/c
bcp AdventureWorks2012Replica..ProductTest in NewTable.bcp -T -SMYPUBLISHER n/c
--- Add the article to the publication.
DECLARE @publication AS sysname;
DECLARE @newtable AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @newtable = N'ProductTest';

USE AdventureWorks2012

EXEC sp_addarticle 
  @publication = @publication,
  @article = @newtable,
  @source_table = @newtable,
  @destination_table = @newtable,
  @force_invalidate_snapshot = 0;
GO

Weitere InformationenSee Also

Häufig gestellte Fragen für Replikationsadministratoren Replication Administration FAQ
Sichern und Wiederherstellen von SQL Server-Datenbanken Back Up and Restore of SQL Server Databases
Peer-zu-Peer-TransaktionsreplikationPeer-to-Peer Transactional Replication