Freigeben über


sp_droppublication (Transact-SQL)

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

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @publication=] 'publication'
    Der Name der Publikation, die gelöscht werden soll. publication ist vom Datentyp sysname und hat keinen Standardwert. Wenn der Wert all angegeben wird, werden alle Publikationen aus der Publikationsdatenbank gelöscht, für die keine Abonnements vorhanden sind.
  • [ @ignore_distributor = ] ignore_distributor
    Nur zur internen Verwendung.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_droppublication wird bei der Snapshot- und Transaktionsreplikation verwendet.

sp_droppublication löscht rekursiv alle Artikel, die zu einer Publikation zugeordnet sind. Anschließend wird die Publikation selbst gelöscht. Solange für eine Publikation ein Abonnement vorhanden ist, kann sie nicht gelöscht werden. Informationen zum Entfernen von Abonnements finden Sie unter How to: Delete a Push Subscription (Replication Transact-SQL Programming) und How to: Delete a Pull Subscription (Replication Transact-SQL Programming).

Das Ausführen von sp_droppublication zum Löschen einer Publikation führt nicht zum Entfernen von veröffentlichten Objekten aus der Publikationsdatenbank oder der entsprechenden Objekte aus der Abonnementdatenbank. Verwenden Sie DROP <object>, um diese Objekte bei Bedarf manuell zu entfernen.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner 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 [AdventureWorks]
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)

Andere Ressourcen

How to: Delete a Publication (Replication Transact-SQL Programming)

Hilfe und Informationen

Informationsquellen für SQL Server 2005