sp_droparticle (Transact-SQL)

スナップショット パブリケーションまたはトランザクション パブリケーションからアーティクルを削除します。 1 つでもサブスクリプションがあると、そのアーティクルは削除できません。 このストアド プロシージャは、パブリッシャー側でパブリケーション データベースについて実行されます。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

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

引数

  • [ @publication=] 'publication'
    削除するアーティクルを含むパブリケーションの名前を指定します。 publication のデータ型は sysname で、既定値はありません。

  • [ @article=] 'article'
    削除するアーティクルの名前を指定します。 article のデータ型は sysname で、既定値はありません。

  • [ @ignore_distributor =] ignore_distributor
    単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    このストアド プロシージャが実行する操作によって既存のスナップショットが無効になることを許可します。 force_invalidate_snapshot のデータ型は bit で、既定値は 0 です。

    0 に設定すると、アーティクルへの変更によってスナップショットが無効になることはありません。 変更に新しいスナップショットが必要であることをストアド プロシージャが検出すると、エラーが発生し、変更は行われません。

    1 に設定すると、アーティクルの変更によってスナップショットが無効になることがあります。また、新しいスナップショットを必要とする既存のサブスクリプションがある場合は、既存のスナップショットに古いスナップショットのマークを付けて、新しいスナップショットを生成することができます。

  • [ @publisher= ] 'publisher'
    Microsoft SQL Server 以外のパブリッシャーを指定します。 publisher のデータ型は sysname で、既定値は NULL です。

    注意

    SQL Server パブリッシャーでアーティクルのプロパティを変更する場合は、publisher は使用しないでください。

  • [ @from_drop_publication= ] from_drop_publication
    単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。

戻り値

0 (成功) または 1 (失敗)

説明

sp_droparticle は、スナップショットおよびトランザクション レプリケーションで使用します。

行方向にフィルター選択されたアーティクルの場合、sp_droparticlesysarticles (Transact-SQL) テーブルのアーティクルの type 列を調べて、ビューやフィルターも削除する必要があるかどうかを判別します。 自動作成されたビューまたはフィルターは、アーティクルと共に削除されます。 手動で作成した場合は、削除されません。

sp_droparticle を実行してパブリケーションからアーティクルを削除しても、パブリケーション データベースからオブジェクトが削除されたり、サブスクリプション データベースから対応するオブジェクトが削除されるわけではありません。 これらのオブジェクトは、必要に応じて DROP <object> を使用して手動で削除します。

使用例

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

権限

sp_droparticle を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバーだけです。

関連項目

参照

sp_addarticle (Transact-SQL)

sp_changearticle (Transact-SQL)

sp_helparticle (Transact-SQL)

sp_helparticlecolumns (Transact-SQL)

レプリケーション ストアド プロシージャ (Transact-SQL)

概念

アーティクルの削除

既存のパブリケーションでのアーティクルの追加および削除