sp_droppullsubscription (Transact-SQL)

Löscht ein Abonnement in der aktuellen Datenbank des Abonnenten. Diese gespeicherte Prozedur wird auf dem Abonnenten für die Pullabonnementdatenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_droppullsubscription [ @publisher= ] 'publisher'
        , [ @publisher_db= ] 'publisher_db'
        , [ @publication= ] 'publication'
    [ , [ @reserved= ] reserved ]

Argumente

  • [ @publisher = ] 'publisher'
    Der Remoteservername. publisher ist vom Datentyp sysname und hat keinen Standardwert. Mit all wird das Abonnement auf allen Verlegern gelöscht.

  • [ @publisher_db =] 'publisher_db'
    Der Name der Verlegerdatenbank. publisher_db ist vom Datentyp sysname und hat keinen Standardwert. all bezieht sich auf alle Verlegerdatenbanken.

  • [ @publication=] 'publication'
    Der Veröffentlichungsname. publication ist vom Datentyp sysname und hat keinen Standardwert. Mit all wird das Abonnement für alle Veröffentlichungen gelöscht.

  • [ @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_droppullsubscription wird bei der Snapshot- und Transaktionsreplikation verwendet.

sp_droppullsubscription löscht die entsprechende Zeile in der MSreplication_subscriptions (Transact-SQL)-Tabelle und den entsprechenden Verteilungs-Agent auf dem Abonnenten.Wenn in MSreplication_subscriptions (Transact-SQL) keine Zeilen mehr vorhanden sind, wird die Tabelle gelöscht.

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 is the batch executed at the Subscriber to drop 
-- a pull subscription to a transactional publication.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB     AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks';

USE [AdventureWorksReplica]
EXEC sp_droppullsubscription 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication;
GO

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der Benutzer, der das Pullabonnement erstellt hat, können sp_droppullsubscription ausführen. Die feste Datenbankrolle db_owner kann sp_droppullsubscription nur ausführen, wenn der Benutzer, der das Pullabonnement erstellt hat, zu dieser Rolle gehört.