sp_droppublication (Transact-SQL)

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 publicaciones.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_droppublication [ @publication= ] 'publication' 
    [ , [ @ignore_distributor = ] ignore_distributor ]

Argumentos

  • [ @publication= ] 'publication'
    Es el nombre de la publicación que se va a quitar. publication es de tipo sysname y no tiene ningún valor predeterminado. Si se especifica all, se quitan todas las publicaciones de la base de datos de publicaciones, excepto las que tienen suscripciones.

  • [ @ignore_distributor = ] ignore_distributor
    Solo 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 (error)

Notas

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

sp_droppublication quita recursivamente 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 tiene una o más suscripciones. Para obtener información acerca de cómo quitar suscripciones, vea Cómo eliminar una suscripción de inserción (programación de la replicación con Transact-SQL) y Cómo eliminar una suscripción de extracción (programación de la replicación con Transact-SQL).

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

Ejemplos

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

-- Remove a transactional publication.
USE [AdventureWorks]
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

Permisos

Sólo los miembros de la función fija de servidor sysadmin o de la función fija de base de datos db_owner pueden ejecutar sp_droppublication.