Partilhar via


sp_dropsubscription (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Descarta assinaturas para um artigo específico, publicação ou conjunto de assinaturas no Publicador. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_dropsubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    , [ @subscriber = ] N'subscriber'
    [ , [ @destination_db = ] N'destination_db' ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] N'reserved' ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argumentos

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

O nome da publicação associada. @publication é sysname, com um padrão de NULL. Se all, todas as assinaturas de todas as publicações do Assinante especificado serão canceladas. publicação é um parâmetro obrigatório.

@article [ = ] N'artigo'

O nome do artigo. @article é sysname, com um padrão de NULL. Se all, as assinaturas de todos os artigos para cada publicação e Assinante especificados serão descartadas. Use all para publicações que permitem atualização imediata.

@subscriber [ = ] N'assinante'

O nome do Assinante que terá suas assinaturas descartadas. @subscriber é sysname, sem padrão. Se all, todas as assinaturas de todos os Assinantes serão descartadas.

@destination_db [ = ] N'destination_db'

O nome do banco de dados de destino. @destination_db é sysname, com um padrão de NULL. Se NULL, todas as assinaturas desse Assinante serão descartadas.

@ignore_distributor [ = ] ignore_distributor

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

@reserved [ = ] N'reservado'

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

@publisher [ = ] N'editor'

Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

sp_dropsubscription é usado na replicação de instantâneo e transacional.

Se você descartar a assinatura de um artigo em uma publicação de sincronização imediata, não poderá adicioná-la novamente, a menos que descarte as assinaturas de todos os artigos da publicação e os adicione novamente de uma vez.

Exemplos

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

-- This batch is executed at the Publisher to remove 
-- a pull or push subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);

USE [AdventureWorks2022]
EXEC sp_dropsubscription 
  @publication = @publication, 
  @article = N'all',
  @subscriber = @subscriber;
GO

Permissões

Somente membros da função de servidor fixa sysadmin , da função de banco de dados fixa db_owner ou do usuário que criou a assinatura podem executar sp_dropsubscription.