Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Detta ämne beskriver hur man tar bort en artikel i SQL Server genom att använda Transact-SQL eller Replication Management Objects (RMO). För information om villkoren under vilka artiklar kan tas bort och om borttagning av en artikel kräver en ny snapshot eller ominitiering av prenumerationer, se Lägg till artiklar till och Ta bort artiklar från befintliga publikationer.
Använda Transact-SQL
Artiklar kan raderas programmatiskt med hjälp av replikeringslagrade procedurer. De lagrade procedurer du använder beror på vilken typ av publikation artikeln tillhör.
Att ta bort en artikel från en snapshot eller transaktionell publikation
Utför sp_droparticle (Transact-SQL) för att ta bort en artikel, specificerad av @article, från en publikation specificerad av @publication. Ange värdet 1 för @force_invalidate_snapshot.
(Valfritt) För att helt ta bort det publicerade objektet från databasen, kör kommandot
DROP <objectname>på Publisher i publiceringsdatabasen.
Att ta bort en artikel från en sammanslagningspublikation
Kör sp_dropmergearticle (Transact-SQL) för att ta bort en artikel, specificerad av @article, från en publikation specificerad av @publication. Om nödvändigt, ange värdet 1 för @force_invalidate_snapshot och ett värde 1 för @force_reinit_subscription.
(Valfritt) För att helt ta bort det publicerade objektet från databasen, kör kommandot
DROP <objectname>på Publisher i publiceringsdatabasen.
Exempel (Transact-SQL)
Följande exempel tar bort en artikel från en transaktionspublikation. Eftersom den här ändringen ogiltigförklarar den befintliga ögonblicksbilden anges värdet 1 för parametern @force_invalidate_snapshot.
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
Följande exempel tar bort två artiklar från en sammanslagningspublikation. Eftersom dessa ändringar ogiltigförklarar den befintliga ögonblicksbildsuppladdningen specificeras värdet 1 för den @force_invalidate_snapshot parametern.
DECLARE @publication AS sysname;
DECLARE @article1 AS sysname;
DECLARE @article2 AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article1 = N'SalesOrderDetail';
SET @article2 = N'SalesOrderHeader';
-- Remove articles from a merge publication.
USE [AdventureWorks]
EXEC sp_dropmergearticle
@publication = @publication,
@article = @article1,
@force_invalidate_snapshot = 1;
EXEC sp_dropmergearticle
@publication = @publication,
@article = @article2,
@force_invalidate_snapshot = 1;
GO
Använda replikeringshanteringsobjekt (RMO)
Du kan ta bort artiklar programmatiskt genom att använda Replication Management Objects (RMO). De RMO-klasser du använder för att ta bort en artikel beror på vilken typ av publikation artikeln tillhör.
Att radera en artikel som tillhör en snapshot- eller transaktionspublikation
Skapa en anslutning till Publisher med hjälp av klassen ServerConnection.
Skapa en instans av TransArticle klassen.
Ange egenskaperna Name, PublicationNameoch DatabaseName.
Ange anslutningen från steg 1 för egenskapen ConnectionContext.
Kontrollera egenskapen IsExistingObject för att kontrollera att artikeln finns. Om värdet av denna egenskap är falskt, har antingen artikelegenskaperna i steg 3 definierats felaktigt eller så existerar inte artikeln.
Anropa Remove metoden.
Stäng alla anslutningar.
För att ta bort en artikel som tillhör en sammanslagningspublikation
Skapa en anslutning till Publisher med hjälp av klassen ServerConnection.
Skapa en instans av MergeArticle klassen.
Ange egenskaperna Name, PublicationNameoch DatabaseName.
Ange anslutningen från steg 1 för egenskapen ConnectionContext.
Kontrollera egenskapen IsExistingObject för att bekräfta att artikeln finns. Om värdet av denna egenskap är falskt, har antingen artikelegenskaperna i steg 3 definierats felaktigt eller så existerar inte artikeln.
Anropa Remove metoden.
Stäng alla anslutningar.