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 です。

    ms173832.note(ja-jp,SQL.90).gifメモ :
    SQL Server パブリッシャでアーティクルのプロパティを変更する場合は、publisher を使用できません。
  • [ @from_drop_publication= ] from_drop_publication
    内部使用のみです。

解説

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

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

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

権限

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

戻り値

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

使用例

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

参照

関連項目

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

その他の技術情報

アーティクルを削除する方法 (レプリケーション Transact-SQL プログラミング)
既存のパブリケーションへのアーティクルの追加および削除

ヘルプおよび情報

SQL Server 2005 の参考資料の入手