sp_droparticle (Transact-SQL)

Löscht einen Artikel aus einer Snapshot- oder Transaktionsveröffentlichung. Ein Artikel kann nicht entfernt werden, solange ein Abonnement für den Artikel vorhanden ist. Diese gespeicherte Prozedur wird auf dem Verleger mit der Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol)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 Veröffentlichung, 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 für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

  • [ @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.

    HinweisHinweis

    publisher sollte nicht verwendet werden, wenn Artikeleigenschaften auf einem SQL Server-Verleger geändert werden.

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

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 Veröffentlichung zu löschen, wird das Objekt nicht aus der Veröffentlichungsdatenbank oder das entsprechende Objekt aus der Abonnementdatenbank entfernt. Verwenden Sie DROP <object>, um diese Objekte ggf. manuell zu entfernen.

Beispiel

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @article = N'Product'; 

-- Drop the transactional article.
USE [AdventureWorks2008R2]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_droparticle ausführen.