Cómo administrar una topología del mismo nivel (programación de la replicación con Transact-SQL)

Administrar una topología punto a punto es parecido a administrar una topología de réplica transaccional típica, pero hay varios aspectos que requieren una consideración especial. La diferencia principal cuando se administra una topología punto a punto es que algunos cambios requieren que el sistema esté detenido. Para detener el sistema, hay que detener la actividad de las tablas publicadas en todos los nodos y asegurarse de que cada nodo haya recibido todos los cambios de los demás nodos. Para obtener más información, vea Cómo poner en modo inactivo una topología de replicación (programación de la replicación con Transact-SQL). Para obtener información sobre cómo agregar un nodo a una topología existente, vea Cómo configurar la replicación transaccional punto a punto (programación de la replicación con Transact-SQL).

Agregar un artículo a una configuración existente

  1. Detenga el sistema.

  2. Detenga el Agente de distribución en cada nodo de la topología. Para obtener más información, vea Conceptos de los ejecutables del Agente de replicación o Cómo iniciar y detener un agente de replicación (SQL Server Management Studio).

  3. Ejecute la instrucción CREATE TABLE para agregar la nueva tabla en cada nodo de la topología.

  4. Realice una copia masiva de los datos de la nueva tabla manualmente en todos los nodos mediante la utilidad bcp.

  5. Ejecute sp_addarticle para crear el nuevo artículo en cada nodo en la topología. Para obtener más información, vea Cómo definir un artículo (programación de la replicación con Transact-SQL).

    Nota

    Una vez ejecutado sp_addarticle, la replicación agrega automáticamente el artículo a las suscripciones de la topología.

  6. Reinicie los agentes de distribución en cada nodo de la topología.

Para realizar cambios del esquema en una base de datos de publicación

  1. Detenga el sistema.

  2. Ejecute las instrucciones de lenguaje de definición de datos (DDL) para modificar el esquema de tablas publicadas. Para obtener más información acerca de los cambios del esquema admitidos, vea Realizar cambios de esquema en las bases de datos de publicación.

  3. Antes de reanudar la actividad en tablas publicadas, detenga el sistema de nuevo. De esta manera se garantiza que los cambios del esquema se han recibido en todos los nodos antes de que se haya replicado cualquier nuevo cambio de los datos.

Ejemplo

En el siguiente ejemplo se muestra cómo agregar un nuevo artículo de tabla a una topología de réplica punto a punto existente con dos nodos.

-- 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