sp_droparticle (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Löscht einen Artikel aus einer Momentaufnahme- oder Transaktionsveröffentlichung. Ein Artikel kann nicht entfernt werden, wenn mindestens ein Abonnement vorhanden ist. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_droparticle
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_drop_publication = ] from_drop_publication ]
[ ; ]

Argumente

[ @publication = ] N'Publikation'

Der Name der Publikation, die den zu verworfenen Artikel enthält. @publication ist "sysname" ohne Standard.

[ @article = ] N'article'

Der Name des zu verworfenen Artikels. @article ist "sysname" ohne Standard.

[ @ignore_distributor = ] ignore_distributor

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

[ @force_invalidate_snapshot = ] force_invalidate_Momentaufnahme

Erkennt an, dass die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise eine vorhandene Momentaufnahme ungültig macht. @force_invalidate_Momentaufnahme ist bit, mit einem Standardwert von 0.

  • 0Gibt an, dass Änderungen am Artikel nicht dazu führen, dass die Momentaufnahme ungültig sind. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen eine neue Momentaufnahme erfordern, tritt ein Fehler auf und es werden keine Änderungen vorgenommen.

  • 1Gibt an, dass Änderungen am Artikel dazu führen können, dass die Momentaufnahme ungültig sind, und wenn vorhandene Abonnements vorhanden sind, die eine neue Momentaufnahme erfordern, erteilen Sie die Berechtigung, dass die vorhandenen Momentaufnahme als veraltet gekennzeichnet werden und eine neue Momentaufnahme generiert wird.

[ @publisher = ] N'publisher'

Gibt einen Nicht-SQL Server-Herausgeber an. @publisher ist "sysname" mit der Standardeinstellung "NULL.

Dieser Parameter sollte nicht verwendet werden, wenn Artikeleigenschaften in einem SQL Server-Publisher geändert werden.

[ @from_drop_publication = ] from_drop_publication

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_droparticlewird in Momentaufnahme- und Transaktionsreplikation verwendet.

Überprüft bei horizontal gefilterten Artikeln die type Spalte des Artikels in der Sysarticles -Tabelle (Transact-SQL), um zu bestimmen, sp_droparticle ob auch eine Ansicht oder ein Filter gelöscht werden soll. Wenn eine Ansicht oder ein Filter automatisch generiert wurde, wird er mit dem Artikel gelöscht. Wenn sie manuell erstellt wurde, wird sie nicht gelöscht.

Wenn sp_droparticle Sie ausführen, um einen Artikel aus einer Publikation abzulegen, wird das Objekt nicht aus der Publikationsdatenbank oder dem entsprechenden Objekt aus der Abonnementdatenbank entfernt. Verwenden Sie DROP <object>, um diese Objekte ggf. manuell zu entfernen.

Beispiele

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

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

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder db_owner feste Datenbankrolle können ausgeführt werden sp_droparticle.