sp_droppublication (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

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 im Publisher in der Publikationsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_droppublication
    [ @publication = ] N'publication'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_backup = ] from_backup ]
[ ; ]

Argumente

[ @publication = ] N'Publikation'

Der Name der zu verworfenen Publikation. @publication ist "sysname" ohne Standard. Wenn all angegeben, werden alle Publikationen aus der Publikationsdatenbank entfernt, mit Ausnahme von Publikationen mit Abonnements.

[ @ignore_distributor = ] ignore_distributor

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

[ @publisher = ] N'publisher'

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

[ @from_backup = ] from_backup

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Hinweise

sp_droppublicationwird in Momentaufnahme Replikation und Transaktionsreplikation verwendet.

sp_droppublication rekursiv alle mit einer Publikation verknüpften Artikel ab und legt dann die Publikation selbst ab. Eine Publikation kann nicht entfernt werden, wenn es sich um ein oder mehrere Abonnements handelt. Informationen zum Entfernen von Abonnements finden Sie unter "Löschen eines Pushabonnements" und "Löschen eines Pull-Abonnements".

Durch das Ausführen sp_droppublication zum Ablegen einer Publikation werden keine veröffentlichten Objekte aus der Publikationsdatenbank oder die entsprechenden Objekte aus der Abonnementdatenbank entfernt. Verwenden Sie DROP <object>, um diese Objekte bei Bedarf manuell zu entfernen.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin können ausgeführt werden sp_droppublication.

Beispiele

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

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