sys.sp_droppublication (Transact-SQL)

Aplica-se a: SQL ServerAzure SQL Managed Instance

Elimina uma publicação e o seu Snapshot Agent associado. Todas as subscrições devem ser canceladas antes de cancelar uma publicação. Os artigos da publicação são automaticamente retirados. Este procedimento armazenado é executado no Publisher no banco de dados de publicação.

Transact-SQL convenções de sintaxe

Sintaxe

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

Arguments

[ @publication = ] N'publicação'

O nome da publicação será retirado. @publication é sysname, sem padrão. Se all for especificado, todas as publicações são retiradas da base de dados de publicações, exceto as publicações com subscrição.

[ @ignore_distributor = ] ignore_distributor

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

@publisher [ = ] N'editor'

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

[ @from_backup = ] from_backup

Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

sp_droppublication é usado na replicação instantânea e na replicação transacional.

sp_droppublication recursivamente elimina todos os artigos associados a uma publicação e depois elimina a própria publicação. Uma publicação não pode ser removida se for uma ou mais assinaturas. Para informações sobre como remover subscrições, consulte Eliminar uma Subscrição Push e Eliminar uma Subscrição Pull.

Executar sp_droppublication o cancelamento de uma publicação não remove objetos publicados da base de dados de publicações nem os objetos correspondentes da base de dados por subscrição. Use DROP <object> para remover estes objetos manualmente, se necessário.

Permissions

Somente membros da função de servidor fixa sysadmin podem executar sp_droppublicationo .

Examples

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