Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Managed Instance
Después de crear una publicación, se le pueden agregar y quitar artículos. Se pueden agregar artículos en cualquier momento, pero las acciones necesarias para quitar artículos dependen del tipo de replicación y del momento en que se quite el artículo.
agregar artículos
Para agregar un artículo, es necesario agregar el artículo a la publicación, crear una instantánea nueva para la publicación y sincronizar la suscripción para aplicar el esquema y los datos para el nuevo artículo.
Nota:
Si se agrega un artículo a una publicación de combinación y ya hay un artículo que depende de este nuevo artículo, debe especificar un orden de procesamiento para los dos artículos con el parámetro @processing_order de sp_addmergearticle y sp_changemergearticle. Considere el caso siguiente: publica una tabla pero no publica una función a la que hace referencia la tabla. Si no publica la función, la tabla no podrá crearse en el Suscriptor. Al agregar la función a la publicación: especifique el valor 1 para el parámetro @processing_order de sp_addmergearticley el valor 2 para el parámetro @processing_order de sp_changemergearticle; especifique el nombre de la tabla para el parámetro @article. Este orden de procesamiento garantiza que la función se cree en Subscriber antes que la tabla que depende de ella. Puede usar números distintos para cada artículo, siempre que el número de la función sea inferior al de la tabla.
Agregue uno o más artículos con uno de estos métodos:
Después de agregar un artículo a una publicación, debe crear una nueva instantánea para la publicación (y para todas las particiones, si se trata de una publicación de mezcla con filtros parametrizados). A continuación, el Agente de distribución o de mezcla copia el esquema y los datos del nuevo artículo al suscriptor (sin reinicializar la publicación completa).
Para crear una instantánea nueva, vea Create and Apply the Initial Snapshot.
Para crear una instantánea para una publicación de mezcla con filtros con parámetros, consulte Crear una instantánea para una publicación de mezcla con filtros con parámetros.
Una vez creada la instantánea, sincronice la suscripción para copiar el esquema y los datos para el nuevo artículo.
Para sincronizar una suscripción push, consulte Sincronizar una suscripción push.
Para sincronizar una suscripción de tipo extracción, consulte Sincronizar una suscripción de tipo extracción.
Eliminar artículos
Puede quitar artículos de una publicación en cualquier momento, pero debe tener en cuenta los siguientes comportamientos:
Al quitar un artículo de una publicación no se quita el objeto de la base de datos de publicaciones ni el objeto correspondiente de la base de datos de suscripciones. Use DROP <Objeto> para quitar estos objetos, si es necesario. Al eliminar un artículo relacionado con otros artículos publicados mediante restricciones de clave externa, se recomienda quitar la tabla del Suscriptor manualmente o mediante la ejecución de scripts a petición: especifique un script que incluya las instrucciones DROP <Object> correspondientes. Para más información, vea Ejecutar scripts durante la sincronización (programación de la replicación con Transact-SQL).
En el caso de las publicaciones de combinación con un nivel de compatibilidad igual o superior a 90RTM, se pueden quitar artículos en cualquier momento, pero se requiere una nueva instantánea. Además:
Si un artículo es un artículo principal en un filtro de combinación o en una relación de registros lógicos, primero se deben eliminar las relaciones, lo que requiere una reinicialización.
Si un artículo tiene el último filtro con parámetros de una publicación, será necesario reinicializar las suscripciones.
En el caso de las publicaciones de combinación con un nivel de compatibilidad inferior a 90RTM, se pueden quitar artículos sin ninguna consideración especial antes de la sincronización inicial de las suscripciones. Si quita un artículo después de haber sincronizado una o varias suscripciones, deberá quitar, volver a crear y sincronizar estas suscripciones.
En las publicaciones de instantáneas o transaccionales, los artículos se pueden eliminar sin consideraciones especiales antes de que se creen las suscripciones. Si quita un artículo después de haber creado una o más suscripciones, deberá quitar, volver a crear y sincronizar estas suscripciones. Para obtener más información sobre cómo quitar suscripciones, consulte Suscribirse a publicaciones y sp_dropsubscription (Transact-SQL). sp_dropsubscription permite quitar un único artículo de la suscripción, en lugar de toda la suscripción.
Para quitar un artículo de una publicación, hay que quitar el artículo y crear una instantánea nueva para la publicación. Al quitar un artículo se invalida la instantánea actual; por lo tanto, es necesario crear una instantánea nueva.
- Para quitar un artículo de una publicación, consulte Agregar y quitar artículos de una publicación (SQL Server Management Studio) o Eliminar un artículo.
Después de eliminar un artículo de una publicación, debe crear una nueva instantánea para la publicación (y de todas las particiones, si se trata de una publicación de combinación con filtros parametrizados).
Para crear una instantánea nueva, vea Create and Apply the Initial Snapshot.
Para crear una instantánea para una publicación de mezcla con filtros con parámetros, consulte Crear una instantánea para una publicación de mezcla con filtros con parámetros.
Como se indicó antes, en algunos casos es necesario quitar, volver a crear y sincronizar las suscripciones después de quitar un artículo. Para obtener más información, consulte Suscribirse a publicaciones y Sincronizar datos.
Nota:
SQL Server 2014 (12.x) Service Pack 2 o superior y SQL Server 2016 (13.x) Service Pack 1 o superior admiten la eliminación de una tabla mediante DROP TABLE el comando DDL para artículos que participan en replicación transaccional. Si las publicaciones admiten un DROP TABLE DDL, la DROP TABLE operación quitará la tabla de la publicación y la base de datos. El agente lector del registro publicará un comando de limpieza para la base de datos de distribución de la tabla eliminada y realizará la limpieza de los metadatos del publicador. Si el lector del registro no ha procesado todos los registros que hacen referencia a la tabla eliminada, ignorará los comandos nuevos asociados a la tabla eliminada. Los registros ya procesados se entregarán a la base de datos de distribución. Se pueden aplicar en la base de datos del suscriptor si el Agente de distribución los procesa antes de que el Agente de lectura del registro elimine los artículos obsoletos (eliminados). La configuración predeterminada de todas las publicaciones de replicación transaccional es no admitir DROP TABLE DDL. En KB 3170123 se incluyen más detalles sobre esta mejora.