Share via


Bir makaleyi silmek

Bu konuda bir makale silmek açıklar SQL Server 2012kullanarak Transact-SQLveya Çoğaltma Yönetimi Nesneleri'ni (rmo). Koşullar altında hangi makaleleri bırakılan ve olsun bir makaleyi bırakarak yeni bir anlık görüntü veya abonelikleri reinitialization gerektirir hakkında daha fazla bilgi için bkz: Varolan yayınlar için makaleleri ve bırakma makaleleri Ekle.

Bu Konuda

  • Bir makaleyi silmek için kullanma:

    Transact-SQL

    Çoğaltma Yönetimi Nesneleri'ni (rmo)

Transact-SQL'i Kullanma

Makaleler, çoğaltma depolanmış yordamları kullanarak programsal olarak silinebilir. Kullanılan saklı yordamlar makaleyi ait olduğu yayın türüne bağlıdır.

Bir anlık görüntü veya işlem yayını bir makaleyi silmek için

  1. Yürütme sp_droparticle (Transact-sql)tarafından belirtilen bir makaleyi silmek için @ makale, belirtilen bir yayından @ yayın. Değeri belirtmeniz 1 için @ force_invalidate_snapshot.

  2. (İsteğe bağlı) Yayımlanmış nesne veritabanından tamamen kaldırmak için idam DROP <objectname>komut yayını veritabanı üzerinde yayımcı adresindeki.

Birleştirme yayını bir makaleyi silmek için

  1. Yürütme sp_dropmergearticle (Transact-sql)tarafından belirtilen bir makaleyi silmek için @ makale, belirtilen bir yayından @ yayın. Gerekirse değeri belirtmeniz 1 için @ force_invalidate_snapshot bir 1 için @ force_reinit_subscription.

  2. (İsteğe bağlı) Yayımlanmış nesne veritabanından tamamen kaldırmak için idam DROP <objectname>komut yayını veritabanı üzerinde yayımcı adresindeki.

Örnekler (Transact-SQL)

Aşağıdaki örnek, bir işlem yayın için bir makale siler. Çünkü bu değişiklik, değeri varolan anlık görüntü geçersiz kılar 1 için belirtilen @ force_invalidate_snapshot parametresi.

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

Aşağıdaki örnek, birleştirme yayını için iki makale siler. Çünkü bu değişiklikler, değeri varolan anlık görüntü geçersiz 1 için belirtilen @ force_invalidate_snapshot parametresi.

DECLARE @publication AS sysname;
DECLARE @table1 AS sysname;
DECLARE @table2 AS sysname;
DECLARE @table3 AS sysname;
DECLARE @salesschema AS sysname;
DECLARE @hrschema AS sysname;
DECLARE @filterclause AS nvarchar(1000);
SET @publication = N'AdvWorksSalesOrdersMerge'; 
SET @table1 = N'Employee'; 
SET @table2 = N'SalesOrderHeader'; 
SET @table3 = N'SalesOrderDetail'; 
SET @salesschema = N'Sales';
SET @hrschema = N'HumanResources';
SET @filterclause = N'Employee.LoginID = HOST_NAME()';

-- Drop the merge join filter between SalesOrderHeader and SalesOrderDetail.
EXEC sp_dropmergefilter 
  @publication = @publication, 
  @article = @table3, 
  @filtername = N'SalesOrderDetail_SalesOrderHeader', 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Drops the merge join filter between Employee and SalesOrderHeader.
EXEC sp_dropmergefilter 
  @publication = @publication, 
  @article = @table2, 
  @filtername = N'SalesOrderHeader_Employee', 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Drops the article for the SalesOrderDetail table.
EXEC sp_dropmergearticle 
  @publication = @publication, 
  @article = @table3,
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Drops the article for the SalesOrderHeader table.
EXEC sp_dropmergearticle 
  @publication = @publication, 
  @article = @table2, 
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;

-- Drops the article for the Employee table.
EXEC sp_dropmergearticle 
  @publication = @publication, 
  @article = @table1,
  @force_invalidate_snapshot = 1, 
  @force_reinit_subscription = 1;
GO

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

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Çoğaltma Yönetimi Nesneleri'ni (rmo) kullanarak

Çoğaltma Yönetimi Nesneleri'ni (rmo) kullanarak Makaleler programlı olarak silebilirsiniz. Bir makaleyi silmek için kullandığınız rmo sınıfları makaleyi ait olduğu yayın türüne bağlıdır.

Bir anlık görüntü veya işlem yayın ait bir makaleyi silmek için

  1. Kullanarak bir yayımcının bağlantısı oluşturmak ServerConnectionsınıf

  2. Örneğini TransArticlesınıf

  3. Set Name, PublicationName, ve DatabaseNameÖzellikler.

  4. Adım 1'bağlantısını ayarlayın ConnectionContextözellik.

  5. Kontrol IsExistingObjectözelliği makale bulunduğunu doğrulamaktır. Bu özelliğin değeri ise false, adım 3 makale özelliklerini hatalı tanımlanmış ya da makale yok.

  6. Arama Removeyöntemi.

  7. Tüm bağlantıları kapatın.

Bir birleştirme yayını ait bir makaleyi silmek için

  1. Kullanarak bir yayımcının bağlantısı oluşturmak ServerConnectionsınıf

  2. Örneğini MergeArticlesınıf

  3. Set Name, PublicationName, ve DatabaseNameÖzellikler.

  4. Adım 1'bağlantısını ayarlayın ConnectionContextözellik.

  5. Kontrol IsExistingObjectözelliği makale bulunduğunu doğrulamaktır. Bu özelliğin değeri ise false, adım 3 makale özelliklerini hatalı tanımlanmış ya da makale yok.

  6. Arama Removeyöntemi.

  7. Tüm bağlantıları kapatın.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Ayrıca bkz.

Kavramlar

Varolan yayınlar için makaleleri ve bırakma makaleleri Ekle

Yineleme sistem saklı yordamlar kavramları