Quitar manualmente la replicación en SQL Server
En este artículo se explica cómo quitar manualmente la replicación en SQL Server.
Versión del producto original: SQL Server
Número de KB original: 324401
Resumen
En este artículo se describe cómo quitar una replicación de un equipo que ejecuta Microsoft SQL Server. Para quitar una replicación, debe quitar las suscripciones, las publicaciones y el distribuidor configurado para la replicación. Puede quitar la replicación ejecutando el script de Transact-SQL generado por SQL Server Enterprise Manager o SQL Server Management Studio. Sin embargo, si no puede generar el script de Transact-SQL para quitar la replicación, puede quitar manualmente la replicación mediante procedimientos almacenados del sistema y otras instrucciones Transact-SQL. Este artículo contiene información sobre los procedimientos almacenados del sistema que se pueden usar en este proceso.
Nota:
Para obtener más información sobre los procedimientos almacenados del sistema que se mencionan en este artículo, consulte SQL Server Libros en pantalla.
Eliminación manual de una replicación
Puede quitar manualmente una replicación mediante procedimientos almacenados del sistema y otras instrucciones Transact-SQL. Para quitar completamente una replicación, siga estos pasos:
- Quite todas las suscripciones configuradas para la replicación.
- Quite todas las publicaciones configuradas para la replicación.
- Quite el distribuidor configurado para la replicación.
Nota:
Los procedimientos almacenados del sistema para cada tipo de replicación se enumeran más adelante en este artículo. Use los procedimientos almacenados adecuados, en función del tipo de replicación que quiera quitar.
Quitar las suscripciones
Para quitar las suscripciones de una instancia de SQL Server, puede usar los siguientes procedimientos almacenados y los parámetros adecuados:
sp_dropsubscription
: puede usar el procedimiento almacenado delsp_dropsubscription
sistema para quitar suscripciones a un artículo, publicación o conjunto de suscripciones determinados en Publisher. Debe ejecutar el procedimiento almacenado en el servidor del publicador en la base de datos de publicaciones.sp_droppullsubscription
: puede usar el procedimiento almacenado delsp_droppullsubscription
sistema para quitar una suscripción en la base de datos actual del suscriptor. Debe ejecutar el procedimiento almacenado en el suscriptor de la base de datos de suscripción de extracción.sp_dropmergesubscription
: puede usar el procedimiento almacenado delsp_dropmergesubscription
sistema para quitar una suscripción a una publicación de combinación y a la Agente de mezcla asociada a la publicación de combinación. Debe ejecutar el procedimiento almacenado en el servidor del publicador en la base de datos de publicaciones.sp_dropmergepullsubscription
: puede usar el procedimiento almacenado delsp_dropmergepullsubscription
sistema para quitar una suscripción de extracción de mezcla. Debe ejecutar el procedimiento almacenado en el suscriptor de la base de datos de suscripción de extracción.
Eliminación de suscripciones de instantáneas
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 Publisher:
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 instantánea de extracción a todos los artículos de una publicación de instantáneas, siga estos pasos:
Ejecute el siguiente script SQL 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>'
Ejecute el siguiente script en Publisher:
USE < **Publication database name** > GO EXEC sp_dropsubscription @publication=N'<Publication name>', @subscriber = N'<Subscriber server name>', @article = N'all', @destination_db = N'all'
Eliminación de 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 Publisher:
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 a todos los artículos de una publicación transaccional, siga estos pasos:
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>'
Ejecute el siguiente script en Publisher:
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>'
Eliminación de una suscripción de combinación
Para quitar una suscripción de inserción, ejecute el siguiente script en Publisher:
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:
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>'
Ejecute el siguiente script en Publisher:
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>'
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 en la base de datos de publicaciones, debe establecer la opción de base de datos de replicación de la base de datos de publicación en false. Para quitar una publicación, puede usar los siguientes procedimientos almacenados del sistema:
sp_droppublication
: puede usar el procedimiento almacenado delsp_droppublication
sistema para quitar una publicación y los artículos asociados a la publicación. Debe ejecutar el procedimiento almacenado en Publisher en la base de datos de publicación.sp_dropmergepublication
: puede usar el procedimiento almacenado delsp_dropmergepublication
sistema para quitar una publicación de combinación y el Agente de instantáneas asociado a la publicación de combinación. También se quitan los artículos asociados a la publicación. Debe ejecutar el procedimiento almacenado en Publisher en la base de datos de publicación.sp_replicationdboption
: puede usar el procedimiento almacenado delsp_replicationdboption
sistema 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 del publicador.
Para quitar una publicación de instantáneas, ejecute el siguiente script en Publisher:
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 Publisher:
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 combinación, ejecute el siguiente script en Publisher:
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'
Quitar el distribuidor
Después de quitar todas las suscripciones y las publicaciones, puede quitar el distribuidor correspondiente. Sin embargo, antes de quitar el distribuidor, debe quitar la designación de suscriptor del publicador. Para ello, use los siguientes procedimientos almacenados:
sp_dropsubscriber
: puede usar el procedimiento almacenado delsp_dropsubscriber
sistema 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 Publisher en la base de datos de publicación.sp_dropdistributor
: puede usar el procedimiento almacenado delsp_dropdistributor
sistema 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 Publisher:USE master GO EXEC sp_dropsubscriber @subscriber = N'<Subscriber server name>', @reserved = N'drop_subscriptions'
Para quitar el distribuidor, ejecute el siguiente script en el distribuidor:
USE master GO EXEC sp_dropdistributor @no_checks = 1
Uso de procedimientos almacenados
También puede usar los siguientes procedimientos almacenados al quitar la replicación:
sp_removedbreplication
: puede usar el procedimiento almacenado delsp_removedbreplication
sistema 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 Publisher en la base de datos de publicación o en el suscriptor de la base de datos de suscripciones. A continuación se muestra la sintaxis de este procedimiento almacenado:sp_removedbreplication '<Database name>'
sp_droparticle
: puede usar el procedimiento almacenado delsp_droparticle
sistema para quitar 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 varias suscripciones al artículo publicado. Debe ejecutar el procedimiento almacenado en Publisher en la base de datos de publicación. A continuación se muestra la sintaxis de este procedimiento almacenado:sp_droparticle @publication = N'<Publication name>', @article = N'<Article name>', @force_invalidate_snapshot = 1
Referencias
Para obtener más información, consulte los temas siguientes en SQL Server Libros en pantalla:
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de