Vorgehensweise: Verwalten einer Peer-to-Peer-Topologie (Replikationsprogrammierung mit Transact-SQL)

Das Verwalten einer Peer-to-Peer-Topologie ist mit dem Verwalten einer typischen Transaktionsreplikationstopologie zu vergleichen, allerdings sind für einige Bereiche Besonderheiten zu beachten. Der Hauptunterschied beim Verwalten einer Peer-to-Peer-Topologie besteht darin, dass das System aufgrund einiger Änderungen in einen inaktiven Status versetzt werden muss. Um das System in einen inaktiven Status zu versetzen, beenden Sie alle Aktivitäten an veröffentlichten Tabellen in allen Knoten, und stellen Sie sicher, dass jeder Knoten alle Änderungen aller anderen Knoten erhalten hat. Weitere Informationen finden Sie unter Vorgehensweise: Versetzen einer Replikationstopologie in einen inaktiven Status (Replikationsprogrammierung mit Transact-SQL). Informationen zum Hinzufügen eines Knotens zu einer vorhandenen Topologie finden Sie unter Vorgehensweise: Konfigurieren der Peer-to-Peer-Transaktionsreplikation (Replikationsprogrammierung mit Transact-SQL).

So fügen Sie einer vorhandenen Konfiguration einen Artikel hinzu

  1. Versetzen Sie das System in einen inaktiven Status.

  2. Beenden Sie den Verteilungs-Agent in jedem Knoten in der Topologie. Weitere Informationen finden Sie unter Ausführbare Konzepte für die Programmierung von Replikations-Agents oder Vorgehensweise: Starten und Beenden eines Replikations-Agents (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.

  4. Kopieren Sie die Daten mithilfe des Dienstprogramms "bcp" in einem Massenkopiervorgang für die neue Tabelle manuell in alle Knoten.

  5. Führen Sie sp_addarticle aus, um den neuen Artikel in jedem Knoten in der Topologie zu erstellen. Weitere Informationen finden Sie unter Vorgehensweise: Definieren eines Artikels (Replikationsprogrammierung mit Transact-SQL).

    HinweisHinweis

    Nach dem Ausführen von sp_addarticle fügt die Replikation den Artikel automatisch den Abonnements in der Topologie hinzu.

  6. Starten Sie die Verteilungs-Agents in jedem Knoten in der Topologie neu.

So nehmen Sie an einer Veröffentlichungsdatenbank Schemaänderungen vor

  1. Versetzen Sie das System in einen inaktiven Status.

  2. Führen Sie die DDL-Anweisungen (Data Definition Language) aus, um das Schema veröffentlichter Tabellen zu ändern. Weitere Informationen zu unterstützten Schemaänderungen finden Sie unter Vornehmen von Schemaänderungen in Veröffentlichungsdatenbanken.

  3. Versetzen Sie das System erneut in einen inaktiven Status, bevor Sie die Aktivitäten an veröffentlichten Tabellen fortsetzen. So kann sichergestellt werden, dass alle Knoten die Schemaänderungen erhalten haben, bevor neue Datenänderungen repliziert werden.

Beispiel

Im folgenden Beispiel wird das Hinzufügen eines neuen Tabellenartikels zu einer vorhandenen Peer-to-Peer-Topologie mit zwei Knoten veranschaulicht:

-- Create the new table at both nodes.
CREATE TABLE AdventureWorks2008R2.dbo.ProductTest (column1 int, Column2 int);
CREATE TABLE AdventureWorks2008R2Replica.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 AdventureWorks2008R2..ProductTest in NewTable.bcp �T �SMYPUBLISHER n/c
bcp AdventureWorks2008R2Replica..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 AdventureWorks2008R2

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