sp_droparticle (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL Managed Instance

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

トピック リンク アイコン 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' 削除するアーティクルを含むパブリケーションの名前を指定します。 publicationsysname,、既定値はありません。

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

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

[ @force_invalidate_snapshot = ] force_invalidate_snapshot このストアドプロシージャによって実行される操作によって既存のスナップショットが無効になる可能性があることを確認します。 force_invalidate_snapshotビット,、既定値は 0 です。

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

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

[ @publisher = ] 'publisher'非 Publisher を指定し Microsoft SQL Server ます。 publishersysname で、既定値は NULL です。

注意

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

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

リターン コードの値

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

Remarks

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

行方向にフィルター選択されたアーティクルの場合、 sp_droparticle では、ビューまたはフィルターを削除するかどうかを判断するために、 sysarticles (transact-sql 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 SQL)
sp_changearticle (Transact-SQL)
sp_helparticle (Transact-SQL)
sp_helparticlecolumns (transact-sql SQL)
レプリケーション ストアド プロシージャ (Transact-SQL)