sp_droparticle (Transact-SQL)
Gilt für: SQL Server Azure 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_snapshot
Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise eine vorhandene Momentaufnahme ungültig macht. @force_invalidate_snapshot ist bit, mit einem Standardwert von 0
.
0
Gibt an, dass Änderungen am Artikel nicht dazu führen, dass die Momentaufnahme ungültig ist. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen eine neue Momentaufnahme erfordern, tritt ein Fehler auf und es werden keine Änderungen vorgenommen.1
Gibt an, dass Änderungen am Artikel dazu führen können, dass die Momentaufnahme ungültig ist. Wenn vorhandene Abonnements vorhanden sind, die eine neue Momentaufnahme erfordern würden, erteilen Sie die Berechtigung, dass die vorhandene Momentaufnahme als veraltet markiert 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
(erfolgreich) oder 1
Fehler.
Hinweise
sp_droparticle
wird in der Momentaufnahme- und Transaktionsreplikation verwendet.
Überprüft bei horizontal gefilterten Artikeln die type
Spalte des Artikels in der Sysarticles-Tabelle, 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
.