Administrar una topología punto a punto (programación de la replicación con Transact-SQL)

Se aplica a: SQL Server

Administrar una topología punto a punto es parecido a administrar una topología de replicación 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. Detener un sistema implica detener la actividad de las tablas publicadas en todos los nodos y asegurarse de que cada nodo ha recibido todos los cambios de los demás nodos. Para más información, vea Poner en modo inactivo una topología de replicación (programación de la replicación con Transact-SQL).

Nota:

En una topología punto a punto, el distribuidor no puede utilizar una versión anterior de SQL Server que la de un suscriptor de extracción.

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 más información, vea Conceptos de los ejecutables del Agente de replicación o 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 más información, consulte Define an Article.

    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 más información sobre los cambios de esquema admitidos, vea Realizar cambios de esquema en bases de datos de publicaciones.

  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 replicación punto a punto existente con dos nodos.

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

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