Freigeben über


sp_droppublication (Transact-SQL)

Löscht eine Veröffentlichung und den ihr zugeordneten Momentaufnahme-Agent. Vor dem Löschen einer Veröffentlichung müssen alle Abonnements gelöscht werden. Die Artikel in der Veröffentlichung werden automatisch gelöscht. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_droppublication [ @publication= ] 'publication' 
    [ , [ @ignore_distributor = ] ignore_distributor ]

Argumente

  • [ @publication= ] 'publication'
    Der Name der zu löschenden Veröffentlichung. publication ist vom Datentyp sysname und hat keinen Standardwert. Wenn der Wert all angegeben wird, werden alle Veröffentlichungen aus der Veröffentlichungsdatenbank gelöscht, für die keine Abonnements vorhanden sind.

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

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_droppublication wird bei der Momentaufnahme- und Transaktionsreplikation verwendet.

sp_droppublication löscht rekursiv alle Artikel, die zu einer Veröffentlichung zugeordnet sind. 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 Löschen eines Pushabonnements und Löschen eines Pullabonnements.

Das Ausführen von sp_droppublication zum Löschen einer Veröffentlichung führt nicht zum Entfernen von veröffentlichten Objekten aus der Veröffentlichungsdatenbank oder der entsprechenden Objekte aus der Abonnementdatenbank. Verwenden Sie DROP <Objekt>, um diese Objekte ggf. manuell zu löschen.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können sp_droppublication ausführen.

Beispiele

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks2012]
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

Siehe auch

Verweis

sp_addpublication (Transact-SQL)

sp_changepublication (Transact-SQL)

sp_helppublication (Transact-SQL)

Gespeicherte Replikationsprozeduren (Transact-SQL)

Konzepte

Löschen einer Veröffentlichung