sp_droparticle (Transact-SQL)
Löscht einen Artikel aus einer Snapshot- oder Transaktionspublikation. Ein Artikel kann nicht entfernt werden, solange ein Abonnement für den Artikel vorhanden ist. Diese gespeicherte Prozedur wird auf dem Verleger mit der Publikationsdatenbank ausgeführt.
Transact-SQL-Syntaxkonventionen
Syntax
sp_droparticle [ @publication= ] 'publication'
, [ @article= ] 'article'
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @force_invalidate_snapshot= ] force_invalidate_snapshot ]
[ , [ @publisher = ] 'publisher' ]
[ , [ @from_drop_publication = ] from_drop_publication ]
Argumente
- [ @publication=] 'publication'
Der Name der Publikation, die den zu löschenden Artikel enthält. publication ist vom Datentyp sysname und hat keinen Standardwert.
- [ @article=] 'article'
Der Name des zu löschenden Artikels. article ist vom Datentyp sysname und hat keinen Standardwert.
- [ @ignore_distributor = ] ignore_distributor
Nur zur internen Verwendung.
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion einen vorhandenen Snapshot für ungültig erklären kann. force_invalidate_snapshot ist vom Datentyp bit und hat den Standardwert 0.Der Wert 0 gibt an, dass Änderungen an dem Artikel nicht bewirken, dass der Snapshot ungültig wird. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen einen neuen Snapshot erfordern, tritt ein Fehler auf, und es werden keine Änderungen durchgeführt.
Der Wert 1 gibt an, dass der Snapshot durch Ändern des Artikels ungültig werden kann. Wenn Abonnements vorhanden sind, die einen neuen Snapshot erfordern, wird mit diesem Wert die Berechtigung erteilt, den vorhandenen Snapshot als veraltet zu markieren und einen neuen Snapshot zu generieren.
[ @publisher= ] 'publisher'
Gibt einen Nicht-Microsoft SQL Server-Verleger an. publisher ist ein Wert vom Datentyp sysname; der Standardwert ist NULL.Hinweis: publisher sollte nicht verwendet werden, wenn Artikeleigenschaften auf einem SQL Server-Verleger geändert werden.
- [ @from_drop_publication= ] from_drop_publication
Nur zur internen Verwendung.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_droparticle wird bei der Snapshot- und Transaktionsreplikation verwendet.
Bei horizontal gefilterten Artikeln überprüft sp_droparticle die type-Spalte des Artikels in der sysarticles (Transact-SQL)-Tabelle, um zu bestimmen, ob eine Sicht oder ein Filter ebenfalls gelöscht werden soll. Wenn eine Sicht oder ein Filter automatisch erzeugt wurde, wird sie bzw. er ebenfalls gelöscht. Manuell erstellte Sichten und Filter werden dagegen nicht gelöscht.
Beim Ausführen von sp_droparticle, um einen Artikel aus einer Publikation zu löschen, wird das Objekt nicht aus der Publikationsdatenbank oder das entsprechende Objekt aus der Abonnementdatenbank entfernt. Verwenden Sie DROP <object>
, um diese Objekte ggf. manuell zu entfernen.
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_droparticle ausführen.
Beispiel
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
-- Drop the transactional article.
USE [AdventureWorks]
EXEC sp_droparticle
@publication = @publication,
@article = @article,
@force_invalidate_snapshot = 1;
GO
Siehe auch
Verweis
sp_addarticle (Transact-SQL)
sp_changearticle (Transact-SQL)
sp_helparticle (Transact-SQL)
sp_helparticlecolumns (Transact-SQL)
Gespeicherte Replikationsprozeduren (Transact-SQL)
Andere Ressourcen
How to: Delete an Article (Replication Transact-SQL Programming)
Hinzufügen und Löschen von Artikeln bei vorhandenen Publikationen