Amministrazione di una topologia peer-to-peer (programmazione Transact-SQL della replica)Administer a Peer-to-Peer Topology (Replication Transact-SQL Programming)

L'amministrazione di una topologia peer-to-peer è simile all'amministrazione di una tipica topologia di replica transazionale, sebbene diverse aree richiedano speciali considerazioni.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. La differenza principale nell'amministrazione di una topologia peer-to-peer consiste nella necessità di mettere il sistema in stato di inattivitàin caso di determinate modifiche.The principal difference in administering a peer-to-peer topology is that some changes require the system to be quiesced. Mettere in stato di inattività un sistema significa arrestare le attività sulle tabelle pubblicate in tutti i nodi e verificare che ogni nodo abbia ricevuto tutte le modifiche dagli altri nodi.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. Per altre informazioni, vedere Come mettere una topologia di replica in stato di inattività (programmazione Transact-SQL della replica).For more information, see Quiesce a Replication Topology (Replication Transact-SQL Programming).

Nota

In una topologia peer-to-peer il database di distribuzione non può utilizzare una versione precedente di SQL ServerSQL Server rispetto a un Sottoscrittore pull.In a peer-to-peer topology, the distributor cannot be using an earlier version of SQL ServerSQL Server than a pull subscriber.

Per aggiungere un articolo a una configurazione esistenteTo add an article to an existing configuration

  1. Mettere in stato di inattività il sistema.Quiesce the system.

  2. Arrestare l'agente di distribuzione in ciascun nodo nella topologia.Stop the Distribution Agent at each node in the topology. Per altre informazioni, vedere Concetti di base relativi ai file eseguibili dell’agente di replica o Avviare e arrestare un agente di replica (SQL Server Management Studio).For more information, see Replication Agent Executables Concepts or Start and Stop a Replication Agent (SQL Server Management Studio).

  3. Eseguire l'istruzione CREATE TABLE per aggiungere la tabella nuova a ogni nodo nella topologia.Execute the CREATE TABLE statement to add the new table at each node in the topology.

  4. Effettuare manualmente la copia bulk dei dati per la nuova tabella in tutti i nodi utilizzando l' utilità bcp.Bulk copy the data for the new table manually at all nodes by using the bcp utility.

  5. Eseguire sp_addarticle per creare il nuovo articolo in ogni nodo nella topologia.Execute sp_addarticle to create the new article at each node in the topology. Per altre informazioni, vedere Define an Article.For more information, see Define an Article.

    Nota

    Dopo l'esecuzione di sp_addarticle, la replica aggiunge automaticamente l'articolo alle sottoscrizioni nella topologia.After sp_addarticle is executed, replication automatically adds the article to the subscriptions in the topology.

  6. Riavviare gli agenti di distribuzione in ciascun nodo nella topologia.Restart the Distribution Agents at each node in the topology.

Per apportare le modifiche dello schema nel database di pubblicazioneTo make schema changes to a publication database

  1. Mettere in stato di inattività il sistema.Quiesce the system.

  2. Eseguire le istruzioni DLL (Data Definition Language) per modificare lo schema delle tabelle pubblicate.Execute the data definition language (DDL) statements to modify the schema of published tables. Per altre informazioni sulle modifiche dello schema supportate, vedere Modifiche allo schema nei database di pubblicazione.For more information about supported schema changes, see Make Schema Changes on Publication Databases.

  3. Prima di riprendere l'attività nelle tabelle pubblicate, mettere di nuovo il sistema in stato di inattività.Before you resume activity on published tables, quiesce the system again. Ciò garantisce che le modifiche dello schema siano ricevute da tutti i nodi prima che venga eseguita la replica di nuove modifiche dei dati.This ensures that schema changes have been received by all nodes before any new data changes are replicated.

EsempioExample

Nell'esempio seguente è illustrato come aggiungere un nuovo articolo di tabella a una topologia di replica peer-to-peer esistente con due nodi.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

Vedere ancheSee Also

Amministrazione (Replica) Administration (Replication)
Backup e ripristino di database SQL Server Back Up and Restore of SQL Server Databases
Replica transazionale peer-to-peer Peer-to-Peer Transactional Replication