Compartir a través de


Replicar tablas e índices particionados

La creación de particiones hace que las tablas o índices de gran tamaño sean más fáciles de administrar porque la creación de particiones permite administrar y acceder a subconjuntos de datos de forma rápida y eficaz, y mantener la integridad de una colección de datos al mismo tiempo. Para obtener más información, vea Partitioned Tables and Indexes. La replicación admite la creación de particiones proporcionando un conjunto de propiedades que especifican cómo se deben tratar las tablas e índices con particiones.

Propiedades de artículo para replicación transaccional y de mezcla

En la tabla siguiente se enumeran los objetos que se usan para crear particiones de datos.

Objeto Creado utilizando
Tabla o índice con particiones CREAR TABLA o CREAR ÍNDICE
Función partition CREAR FUNCIÓN DE PARTICIÓN
Esquema de partición CREAR ESQUEMA DE PARTICIÓN

El primer conjunto de propiedades relacionadas con el particionamiento son las opciones del esquema de artículos que determinan si los objetos de partición deben copiarse en el suscriptor. Estas opciones de esquema se pueden establecer de las maneras siguientes:

  • En la página Propiedades del artículo del Asistente para nueva publicación o en el cuadro de diálogo Propiedades de la publicación. Para copiar los objetos enumerados en la tabla anterior, especifique un valor de true para las propiedades Copiar esquemas de partición de tabla y Copiar esquemas de partición de índice. Para obtener información sobre cómo acceder a la página Propiedades del artículo , vea Ver y modificar propiedades de publicación.

  • Mediante el uso del parámetro schema_option de uno de los procedimientos almacenados siguientes:

    Para copiar los objetos enumerados en la tabla anterior, especifique los valores de opción de esquema adecuados. Para obtener información sobre cómo especificar opciones de esquema, vea Especificar opciones de esquema.

La replicación copia objetos al suscriptor durante la sincronización inicial. Si el esquema de partición usa grupos de archivos distintos del grupo de archivos PRIMARY, esos grupos de archivos deben existir en el suscriptor antes de la sincronización inicial.

Una vez inicializado el suscriptor, los cambios de datos se propagan al suscriptor y se aplican a las particiones adecuadas. Sin embargo, no se admiten cambios en el esquema de partición. La replicación transaccional y de mezcla no admite la replicación de los siguientes comandos: ALTER PARTITION FUNCTION, ALTER PARTITION SCHEME o la instrucción REBUILD WITH PARTITION de ALTER INDEX. Los cambios asociados a ellos no se replicarán automáticamente en el suscriptor. Es responsabilidad del usuario realizar cambios similares manualmente en el Suscriptor.

Soporte de replicación para el cambio de particiones

Una de las principales ventajas de la creación de particiones de tablas es la capacidad de mover de forma rápida y eficaz subconjuntos de datos entre particiones. Los datos se mueven mediante el comando SWITCH PARTITION. De forma predeterminada, cuando se habilita una tabla para la replicación, las operaciones SWITCH PARTITION se bloquean por los siguientes motivos:

  • Si los datos se mueven o salen de una tabla que existe en el publicador, pero no existen en el suscriptor, el publicador y el suscriptor podrían ser incoherentes entre sí. Este problema suele producirse cuando los datos se mueven o salen de una tabla de almacenamiento provisional.

  • Si el suscriptor tiene una definición diferente para la tabla con particiones que el publicador, se producirá un error en el Agente de distribución cuando intente aplicar cambios en el suscriptor.

A pesar de estos posibles problemas, la conmutación de particiones se puede habilitar para la replicación transaccional. Antes de habilitar la conmutación de particiones, asegúrese de que todas las tablas implicadas en la conmutación de particiones existen en el publicador y el suscriptor, y asegúrese de que las definiciones de tabla y partición sean las mismas.

Cuando las particiones tienen exactamente el mismo esquema de partición en los publicadores y suscriptores, puede activar allow_partition_switch junto con replication_partition_switch, lo que solo replicará la instrucción de cambio de partición al suscriptor. También puede activar allow_partition_switch sin replicar el DDL. Esto es útil en el caso de que quiera eliminar meses antiguos de la partición, pero mantener la partición replicada en su lugar durante otro año con fines de copia de seguridad para el suscriptor.

Si habilita la conmutación de particiones en SQL Server 2008 R2 a través de la versión actual, es posible que también necesite operaciones de división y combinación en un futuro próximo. Antes de ejecutar una operación de división o combinación en una tabla replicada, asegúrese de que la partición en cuestión no tenga comandos replicados pendientes. También debe asegurarse de que no se ejecute ninguna operación DML en la partición durante las operaciones de división y combinación. Si hay transacciones que el lector de registro no ha procesado o si las operaciones DML se realizan en una partición de una tabla replicada mientras se ejecuta una operación de división o combinación (que implica la misma partición), podría provocar un error de procesamiento con el agente de registro del log. Para corregir el error, podría requerir una nueva inicialización de la suscripción.

Advertencia

No debe habilitar la conmutación de particiones para publicaciones Punto a Punto, debido a la columna oculta que se utiliza para detectar y resolver conflictos.

Habilitación de la conmutación de particiones

Las siguientes propiedades para publicaciones transaccionales permiten a los usuarios controlar el comportamiento de la conmutación de particiones en un entorno replicado:

  • @allow_partition_switch, cuando se establece en true, SWITCH PARTITION se puede ejecutar en la base de datos de publicación.

  • @replicate_partition_switch determina si la instrucción SWITCH PARTITION DDL debe replicarse a los suscriptores. Esta opción solo es válida cuando @allow_partition_switch se establece en true.

Puede establecer estas propiedades mediante sp_addpublication cuando se crea la publicación o mediante sp_changepublication después de crear la publicación. Como se indicó anteriormente, la replicación de mezcla no admite la conmutación de particiones. Para ejecutar SWITCH PARTITION en una tabla que está habilitada para la replicación de combinación, quite la tabla de la publicación.

Véase también

Publicar datos y objetos de base de datos