sp_dropmergepublication (Transact-SQL)

Löscht eine Mergeveröffentlichung und den zugehörigen Snapshot-Agent. Vor dem Löschen einer Mergeveröffentlichung müssen alle Abonnements gelöscht werden. Die Artikel in der Veröffentlichung werden automatisch gelöscht. Diese gespeicherte Prozedur wird beim Verleger mit der Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_dropmergepublication [ @publication= ] 'publication' 
    [ , [ @ignore_distributor = ] ignore_distributor ] 
    [ , [ @reserved = ] reserved ]
    [ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]

Argumente

  • [ @publication=] 'publication'
    Der Name der zu löschenden Veröffentlichung. publication ist vom Datentyp sysname und hat keinen Standardwert. Wenn der Wert all ist, werden alle vorhandenen Mergeveröffentlichungen und die ihnen zugeordneten Snapshot-Agent-Aufträge entfernt. Wenn Sie einen bestimmten Wert für publication angeben, werden nur diese Veröffentlichung und der ihr zugeordnete Snapshot-Agent-Auftrag gelöscht.

  • [ @ignore_distributor =] ignore_distributor
    Wird verwendet, um eine Veröffentlichung zu löschen, ohne Cleanuptasks auf dem Verteiler auszuführen. ignore_distributor ist vom Datentyp bit und hat den Standardwert 0. Dieser Parameter wird auch bei der Neuinstallation des Verteilers verwendet.

  • [ @reserved=] reserved
    Ist für die zukünftige Verwendung reserviert. reserved ist vom Datentyp bit und hat den Standardwert 0.

  • [ @ignore_merge_metadata= ] ignore_merge_metadata
    Nur interne Verwendung.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_dropmergepublication wird für die Mergereplikation verwendet.

sp_dropmergepublication löscht rekursiv alle einer Veröffentlichung zugeordneten Artikel. Anschließend wird die Veröffentlichung selbst gelöscht. Solange für eine Veröffentlichung ein Abonnement vorhanden ist, kann sie nicht gelöscht werden. Informationen zum Entfernen von Abonnements finden Sie unter Vorgehensweise: Löschen eines Pushabonnements (Replikationsprogrammierung mit Transact-SQL) und Vorgehensweise: Löschen eines Pullabonnements (Replikationsprogrammierung mit Transact-SQL).

Beim Ausführen von sp_dropmergepublication zum Löschen einer Veröffentlichung werden weder veröffentlichten Objekte in der Veröffentlichungsdatenbank noch die entsprechenden Objekte in der Abonnementdatenbank gelöscht. Verwenden Sie DROP <object>, um diese Objekte bei Bedarf manuell zu entfernen.

Beispiel

DECLARE @publication AS sysname
DECLARE @publicationDB    AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge' 
SET @publicationDB = N'AdventureWorks'

-- Remove the merge publication.
USE [AdventureWorks]
EXEC sp_dropmergepublication @publication = @publication;

-- Remove replication objects from the database.
USE master
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'merge publish', 
  @value = N'false'
GO

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_dropmergepublication ausführen.