Aracılığıyla paylaş


sp_dropmergearticle (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Bir makaleyi birleştirme yayınından kaldırır. Bu saklı yordam yayın veritabanındaki Publisher'da yürütülür.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_dropmergearticle
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] reserved ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
    [ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
[ ; ]

Arguments

[ @publication = ] Yayın yok'

Makale bırakılacak yayının adı. @publicationsysname'dir, varsayılan yoktur.

[ @article = ] N'article'

Verilen yayından çıkarılacak makalenin adı. @articlesysname'dir, varsayılan yoktur. Eğer all, belirtilen birleştirme yayınındaki tüm mevcut makaleler kaldırılır. @articleallolsa bile, yayın makaleden ayrı olarak düşürülmelidir.

[ @ignore_distributor = ] ignore_distributor

Bu saklanan prosedürün Dağıtıcıya bağlanmadan yürütülüp yürütülmediğini gösterir. @ignore_distributorbittir ve varsayılan olarak .0

[ @reserved = ] ayrılmış

Gelecekte kullanım için ayrılmıştır. @reservedbit'tir, varsayılan olarak .0

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Anlık görüntünün geçersiz kılınabilmesini etkinleştirir veya devre dışı bırakır. @force_invalidate_snapshotbittir ve varsayılan değeridir 0.

  • 0 birleştirme makalesindeki değişikliklerin anlık görüntünün geçersiz olmasına yol açmadığını belirtir.

  • 1 birleştirme makalesindeki değişikliklerin anlık görüntünün geçersiz olmasına yol açabileceği anlamına gelir ve eğer durum buysa, bir değer 1 yeni anlık görüntünün gerçekleşmesine izin verir.

[ @force_reinit_subscription = ] force_reinit_subscription

Makaleyi kaldırmak için mevcut aboneliklerin yeniden başlatılması gerektiğini kabul eder. @force_reinit_subscriptionbittir ve varsayılan değeridir 0.

  • 0 makalenin kaldırılmasının aboneliğin yeniden başlatılmasına yol açmadığını belirtir.

  • 1 makalenin kaldırılmasının mevcut aboneliklerin yeniden başlatılmasına yol açtığı ve aboneliğin yeniden başlatılması için izin verdiği anlamına gelir.

[ @ignore_merge_metadata = ] ignore_merge_metadata

Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Açıklamalar

sp_dropmergearticle birleştirme çoğaltmasında kullanılır. Makalelerin kaldırılmasıyla ilgili daha fazla bilgi için Mevcut Yayınlara Makale Ekle ve Makaleleri Bırak bölümlerine bakınız.

Bir makaleyi yayından çıkarmak için çalıştırmak, sp_dropmergearticle nesneyi yayın veritabanından veya ilgili nesneyi abonelik veritabanından kaldırmaz. Gerekirse bu nesneleri manuel olarak çıkarabilirsiniz DROP <object> .

Permissions

Yalnızca sysadmin sabit sunucu rolünün veya db_owner sabit veritabanı rolünün üyeleri çalıştırabilir sp_dropmergearticle.

Örnekler

Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.

A. Birleştirme yayınından makaleleri kaldır

USE [AdventureWorks2022];
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';

EXECUTE sp_dropmergearticle
    @publication = @publication,
    @article = @article1,
    @force_invalidate_snapshot = 1;

EXECUTE sp_dropmergearticle
    @publication = @publication,
    @article = @article2,
    @force_invalidate_snapshot = 1;
GO
USE [AdventureWorks2022];
GO

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.
EXECUTE sp_dropmergefilter
    @publication = @publication,
    @article = @table3,
    @filtername = N'SalesOrderDetail_SalesOrderHeader',
    @force_invalidate_snapshot = 1,
    @force_reinit_subscription = 1;

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

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

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

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