sp_droppublication (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Quita una publicación y su Agente de instantáneas asociado. Antes de quitar una publicación, es necesario quitar todas las suscripciones. Los artículos de la publicación se quitan automáticamente. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_droppublication
    [ @publication = ] N'publication'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_backup = ] from_backup ]
[ ; ]

Argumentos

[ @publication = ] N'publication'

Nombre de la publicación que se va a quitar. @publication es sysname, sin ningún valor predeterminado. Si all se especifica, todas las publicaciones se quitan de la base de datos de publicaciones, excepto las publicaciones con suscripciones.

[ @ignore_distributor = ] ignore_distributor

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

[ @publisher = ] N'publisher'

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

[ @from_backup = ] from_backup

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_droppublication se usa en la replicación de instantáneas y la replicación transaccional.

sp_droppublication quita de forma recursiva todos los artículos asociados a una publicación y, a continuación, quita la propia publicación. No se puede quitar una publicación si se trata de una o varias suscripciones a ella. Para obtener información sobre cómo quitar suscripciones, vea Eliminar una suscripción de inserción y Eliminar una suscripción de extracción.

sp_droppublication La ejecución de para quitar una publicación no quita los objetos publicados de la base de datos de publicación ni los objetos correspondientes de la base de datos de suscripciones. Si es necesario, utilice DROP <object> para quitar estos objetos manualmente.

Permisos

Solo los miembros del rol fijo de servidor sysadmin pueden ejecutar sp_droppublication.

Ejemplos

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks2022]
EXEC sp_droppublication @publication = @publication;

-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish', 
  @value = N'false';
GO