sp_droppublication (Transact-SQL)
Gilt für: SQL Server Azure 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
(erfolgreich) oder 1
Fehler.
Hinweise
sp_droppublication
wird in der Momentaufnahmereplikation 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