sp_droparticle (Transact-SQL)

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

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

Topic link iconTransact-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' 削除するアーティクルを含むパブリケーションの名前を指定します。 パブリケーションsysname で、既定値はありません。

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

[ @ignore_distributor = ] ignore_distributor

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

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

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

1 は、アーティクルに対する変更によってスナップショットが無効になる可能性があることを指定し、新しいスナップショットを必要とする既存のサブスクリプションがある場合は、既存のスナップショットが古いスナップショットとしてマークされ、新しいスナップショットが生成される権限を付与します。

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

注意

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

[ @from_drop_publication = ] from_drop_publication

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

リターン コードの値

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

注釈

sp_droparticle は、スナップショット レプリケーションとトランザクション レプリケーションで使用されます。

水平方向にフィルター処理されたアーティクルの場合、sp_droparticleは sysarticles (Transact-SQL) テーブルのアーティクルの列をチェックして、ビューまたはフィルターも削除する必要があるかどうかを判断します。 ビューまたはフィルターが自動生成された場合、アーティクルと共に削除されます。 手動で作成された場合、削除されません。

パブリケーションからアーティクルを削除する 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)