sp_droparticle (Transact-SQL)

Löscht einen Artikel aus einer Momentaufnahme- 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 für die 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 Artikels, der gelöscht werden soll. 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 durch die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise eine vorhandene Momentaufnahme ungültig wird. force_invalidate_snapshot ist vom Datentyp bit. Der Standardwert ist 0.

    Der Wert 0 gibt an, dass Änderungen an dem Artikel nicht bewirken, dass die Momentaufnahme ungültig wird. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen eine neue Momentaufnahme erfordern, tritt ein Fehler auf und es werden keine Änderungen vorgenommen.

    Der Wert 1 gibt an, dass die Momentaufnahme durch Ändern des Artikels ungültig werden kann. Wenn Abonnements vorhanden sind, die eine neue Momentaufnahme erfordern, wird mit diesem Wert die Berechtigung erteilt, die vorhandene Momentaufnahme als veraltet zu markieren und eine neue Momentaufnahme zu generieren.

  • [ @publisher= ] 'publisher'
    Gibt einen Nicht-Microsoft SQL Server-Verleger an. publisher ist vom Datentyp sysname. Der Standardwert ist NULL.

    HinweisHinweis

    publisher sollte nicht beim Ändern von Artikeleigenschaften für einen SQL Server-Verleger verwendet 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 Momentaufnahme- 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 [AdventureWorks2012]
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.

Siehe auch

Verweis

sp_addarticle (Transact-SQL)

sp_changearticle (Transact-SQL)

sp_helparticle (Transact-SQL)

sp_helparticlecolumns (Transact-SQL)

Gespeicherte Replikationsprozeduren (Transact-SQL)

Konzepte

Löschen eines Artikels

Hinzufügen und Löschen von Artikeln aus vorhandenen Veröffentlichungen