Freigeben über


sp_dropsubscription (Transact-SQL)

Löscht Abonnements für bestimmte Artikel, Veröffentlichungen oder Abonnementgruppen auf dem Verleger. Diese gespeicherte Prozedur wird beim Verleger mit der Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @publication=] 'publication'
    Der Name der zugeordneten Veröffentlichung. publication ist vom Datentyp sysname und hat den Standardwert NULL. Mit all werden alle Abonnements für alle Veröffentlichungen für den angegebenen Abonnenten gelöscht. publication ist ein erforderlicher Parameter.

  • [ @article=] 'article'
    Der Name des Artikels. article ist vom Datentyp sysname und hat den Standardwert NULL. Mit all werden die Abonnements aller Artikel für alle angegebenen Veröffentlichungen und Abonnenten gelöscht. Verwenden Sie für Veröffentlichungen mit sofortigem Aktualisieren all.

  • [ @subscriber= ] 'subscriber'
    Der Name des Abonnenten, dessen Abonnements gelöscht werden. subscriber ist ein Wert vom Datentyp sysname und weist keinen Standardwert auf. Mit all werden alle Abonnements für alle Abonnenten gelöscht.

  • [ @destination_db=] 'destination_db'
    Der Name der Zieldatenbank. destination_db ist vom Datentyp sysname und hat den Standardwert NULL. Bei einem Wert von NULL werden alle Abonnements dieses Abonnenten gelöscht.

  • [ @ignore_distributor = ] ignore_distributor
    Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

  • [ @reserved=] 'reserved'
    Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_dropsubscription wird bei der Snapshot- und Transaktionsreplikation verwendet.

Wenn Sie das Abonnement für den Artikel einer immediate-sync-Veröffentlichung löschen, können Sie das Abonnement nur wieder hinzufügen, wenn Sie die Abonnements für alle Artikel der Veröffentlichung löschen und sie alle in einem Schritt wieder hinzufügen.

Beispiel

-- 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 [AdventureWorks2008R2;]
EXEC sp_dropsubscription 
  @publication = @publication, 
  @article = N'all',
  @subscriber = @subscriber;
GO

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin, der festen Datenbankrolle db_owner oder der Benutzer, der das Abonnement erstellt hat, können sp_dropsubscription ausführen.