Cómo quitar manualmente una replicación en SQL Server 2000 o en SQL Server 2005

Resumen

Este artículo describe cómo quitar una réplica de un equipo que está ejecutando Microsoft SQL Server 2000 o Microsoft SQL Server 2005. Para quitar una réplica, debe quitar el distribuidor que está configurado para la replicación, las publicaciones y las suscripciones. Puede quitar la replicación mediante la ejecución de la secuencia de comandos de Transact-SQL que se genera mediante el Administrador corporativo de SQL Server o SQL Server Management Studio. Sin embargo, si no se puede generar la secuencia de comandos de Transact-SQL para quitar la replicación, puede quitar manualmente la replicación mediante el uso de otras instrucciones de Transact-SQL y procedimientos almacenados del sistema. Este artículo contiene información acerca de los procedimientos almacenados del sistema que se puede utilizar en este proceso.

Nota: Para obtener información adicional acerca del sistema de procedimientos almacenados que se mencionan en este artículo, consulte Libros en pantalla de SQL Server.

Volver al principio

Quitar manualmente una réplica

Puede quitar manualmente una replicación mediante procedimientos almacenados del sistema y otras instrucciones de Transact-SQL. Para quitar completamente una replicación, siga estos pasos:
  1. Quitar todas las suscripciones que están configuradas para la replicación.
  2. Quitar todas las publicaciones que están configuradas para la replicación.
  3. Quite el distribuidor que está configurado para la replicación.
Nota: Los procedimientos almacenados del sistema para cada tipo de duplicación se enumeran más adelante en este artículo. Utilice los procedimientos almacenados apropiados, dependiendo del tipo de replicación que desea quitar.

Volver al principio

Quite las suscripciones

Para quitar las suscripciones desde una instancia de SQL Server, puede utilizar los siguientes procedimientos almacenados y los parámetros adecuados:
  • sp_dropsubscription: puede utilizar el procedimiento almacenado del sistema sp_dropsubscription para quitar las suscripciones a un artículo concreto, publicación o conjunto de suscripciones en el publicador. Debe ejecutar el procedimiento almacenado en el servidor publicador en la base de datos de publicación.
  • sp_droppullsubscription: puede utilizar el procedimiento almacenado del sistema sp_droppullsubscription para quitar una suscripción a la base de datos actual del suscriptor. Debe ejecutar el procedimiento almacenado en el suscriptor en la base de datos de suscripción de extracción.
  • sp_dropmergesubscription: puede utilizar el procedimiento almacenado del sistema sp_dropmergesubscription para quitar una suscripción a una publicación de mezcla y el agente de mezcla está asociado con la publicación de mezcla. Debe ejecutar el procedimiento almacenado en el servidor publicador en la base de datos de publicación.
  • sp_dropmergepullsubscription: puede utilizar el procedimiento almacenado del sistema sp_dropmergepullsubscription para quitar una suscripción de extracción de mezcla. Debe ejecutar el procedimiento almacenado en el suscriptor en la base de datos de suscripción de extracción.

Quite las suscripciones de instantánea

Para quitar una suscripción de inserción a todos los artículos de una publicación de instantáneas, ejecute el siguiente script en el publicador:
USE <Publication database name>GO
EXEC sp_dropsubscription @publication = N'<
Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
Para quitar una suscripción de extracción instantánea a todos los artículos de una publicación de instantáneas, siga estos pasos:
  1. Ejecute la siguiente secuencia de comandos SQLb en el suscriptor:
    USE <Subscription database name>GO
    EXEC sp_droppullsubscription @publisher = N'<
    Publisher server name>', @publisher_db = N'<Publication database name>', @publication = N'<Publication name>'
  2. En el publicador, ejecute el siguiente script:
    USE <Publication database name>GO
    EXEC sp_dropsubscription @publication=N'<
    Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'all'

Quitar una suscripción transaccional

Para quitar una suscripción de inserción a todos los artículos de una publicación transaccional, ejecute el siguiente script en el publicador:
USE <Publication database name>GO
EXEC sp_dropsubscription @publication = N'<
Publication name>', @article = N'all', @subscriber = N'all', @destination_db = N'all'
Para quitar una suscripción de extracción para todos los artículos de una publicación transaccional, siga estos pasos:
  1. Ejecute el siguiente script en el suscriptor:
    USE <Subscription database name>GO
    EXEC sp_droppullsubscription @publisher = N'<
    Publisher server name>', @publisher_db = N'<Publisher database name>', @publication = N'<Publication name>'
  2. En el publicador, ejecute el siguiente script:
    USE <Publication database name>GO
    EXEC sp_dropsubscription @publication =N'<
    Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'<Destination database name>'

Quitar una suscripción de mezcla

Para quitar una suscripción de inserción, ejecute el siguiente script en el publicador:
USE <Publication database name>GO
EXEC sp_dropmergesubscription @publication = N'<
Publication name>', @subscriber = N'<Publisher server name>', @subscriber_db = N'<Subscription database name>', @subscription_type = N'push'
Para quitar una suscripción de extracción, siga estos pasos:
  1. Ejecute el siguiente script en el suscriptor:
    USE <Subscription database name>GO
    EXEC sp_dropmergepullsubscription @publication = N'<
    Publication name>', @publisher = N'<Publisher server name>', @publisher_db = N'<Publisher database name>'
  2. En el publicador, ejecute el siguiente script:
    USE <Publication database name>GO
    EXEC sp_dropmergesubscription @subscription_type = N'pull', @publication = N'<
    Publication name>', @subscriber = N'<Subscriber server name>', @subscriber_db = N'<Subscription database name>'
Volver al principio

Quitará las publicaciones

Después de quitar todas las suscripciones que se suscriben a una publicación, puede quitar la publicación. Después de quitar las publicaciones de la base de datos de publicación, debe establecer la opción de base de datos de replicación para la base de datos de publicación en false. Para eliminar una publicación, puede utilizar los siguientes procedimientos almacenados del sistema:
  • sp_droppublication: puede utilizar el procedimiento almacenado del sistema sp_droppublication para eliminar una publicación y los artículos asociados con la publicación. Debe ejecutar el procedimiento almacenado en el publicador en la base de datos de publicación.
  • sp_dropmergepublication: puede utilizar el procedimiento almacenado del sistema sp_dropmergepublication para eliminar una publicación de mezcla y el agente de instantáneas asociado a la publicación de mezcla. También se eliminan los artículos que están asociados con la publicación. Debe ejecutar el procedimiento almacenado en el publicador en la base de datos de publicación.
  • sp_replicationdboption: puede utilizar el procedimiento almacenado del sistema sp_replicationdboption para establecer una opción de base de datos de replicación para la base de datos actual. Debe ejecutar el procedimiento almacenado en el servidor editor.
Para quitar una publicación de instantáneas, ejecute el siguiente script en el publicador:
USE <Publication database name>GO
EXEC sp_droppublication @publication = N'<
Publication name>'
USE master
GO
exec sp_replicationdboption @dbname = N'<
Publication database name>', @optname = N'publish', @value = N'false'
Para quitar una publicación transaccional, ejecute el siguiente script en el publicador:
USE <Publication database name>GO
EXEC sp_droppublication @publication = N'<
Publication name>'
USE master
GO
EXEC sp_replicationdboption @dbname = N'<
Publication database name>', @optname = N'publish', @value = N'false'
Para quitar una publicación de mezcla, ejecute el siguiente script en el publicador:
USE <Publication database name>GO
EXEC sp_dropmergepublication @publication = N'<
Publication name>'
USE master
GO
EXEC sp_replicationdboption @dbname = N'<
Publication database name>', @optname = N'merge publish', @value = N'false'
Volver al principio

Quitar el distribuidor

Después de eliminar todas las suscripciones y las publicaciones, puede colocar el distribuidor correspondiente. Sin embargo, antes de quitar el distribuidor, debe quitar la designación de suscriptor del publicador. Para ello, utilice los siguientes procedimientos almacenados:
  • sp_dropsubscriber: puede utilizar el procedimiento almacenado del sistema sp_dropsubscriber para quitar la designación de suscriptor de un servidor registrado. El procedimiento almacenado, quita la entrada del registro para el suscriptor. El procedimiento almacenado se ejecuta en el publicador en la base de datos de publicación.
  • sp_dropdistributor: puede utilizar el procedimiento almacenado del sistema sp_dropdistributor para quitar el distribuidor. El procedimiento almacenado se ejecuta en el distribuidor.
Para quitar la designación de suscriptor del publicador, ejecute el siguiente script en el publicador:
USE masterGO
EXEC sp_dropsubscriber @subscriber = N'<
Subscriber server name>', @reserved = N'drop_subscriptions'
Para quitar el distribuidor, ejecute la siguiente secuencia de comandos en el distribuidor:
USE masterGO
EXEC sp_dropdistributor @no_checks = 1
Volver al principio

Utilizar procedimientos almacenados

También puede utilizar los siguientes procedimientos almacenados cuando se quita la replicación:
  • sp_removedbreplication: puede utilizar el procedimiento almacenado del sistema sp_removedbreplication para quitar todos los objetos de replicación de una base de datos sin actualizar los datos en el distribuidor. Debe ejecutar el procedimiento almacenado en el publicador en la base de datos de publicación o en el suscriptor de la base de datos de suscripción. La sintaxis de este procedimiento almacenado es la siguiente:
    sp_removedbreplication '<Database name>'
  • sp_droparticle: puede utilizar el procedimiento almacenado del sistema sp_droparticle para eliminar un artículo de una publicación de instantáneas o de la publicación transaccional. No se puede quitar un artículo si todavía existen una o más suscripciones en el artículo publicado. Debe ejecutar el procedimiento almacenado en el publicador en la base de datos de publicación. La sintaxis de este procedimiento almacenado es la siguiente:
    sp_droparticle @publication = N'<Publication name>', @article = N'<Article name>', @force_invalidate_snapshot = 1
Volver al principio

Referencias

Para obtener más información, consulte los siguientes temas en libros en pantalla de SQL Server:
  • Cómo deshabilitar la publicación y distribución (Transact-SQL)
  • Cómo eliminar publicaciones y artículos (Transact-SQL)
  • Cómo eliminar una suscripción de inserción (Transact-SQL)
  • Cómo eliminar una suscripción de extracción (Transact-SQL)
  • Cómo eliminar una suscripción anónima (Transact-SQL)
  • Cómo eliminar publicaciones y artículos (Administrador corporativo)
  • Cómo eliminar una suscripción de inserción (Administrador corporativo)
  • Cómo eliminar una extracción o una suscripción anónima (Administrador corporativo)
Volver al principio
Propiedades

Id. de artículo: 324401 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios