次の方法で共有


sp_changemergepublication (Transact-SQL)

更新 : 2006 年 12 月 12 日

マージ パブリケーションのプロパティを変更します。このストアド プロシージャは、パブリッシャ側でパブリケーション データベースについて実行されます。

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

構文

sp_changemergepublication [ @publication= ] 'publication'
    [ , [ @property= ] 'property' ]
    [ , [ @value= ] 'value' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]

引数

  • [ @publication=] 'publication'
    パブリケーションの名前です。publicationsysname であり、既定値はありません。
  • [ @property=] 'property'
    指定されたパブリケーションの変更の対象となるプロパティです。propertysysname であり、表に記載されているいずれかの値をとります。
  • [ @value=] 'value'
    指定されたプロパティの新しい値です。valuenvarchar(255) であり、表に記載されている値のいずれかをとります。

    次の表に、変更可能なパブリケーションのプロパティと、プロパティの値に関する制限を示します。

    プロパティ

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

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

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

    変更によって新しいスナップショットの生成が必要になるプロパティについては、「解説」を参照してください。

  • [ @force_reinit_subscription = ] force_reinit_subscription
    このストアド プロシージャが実行するアクションによって、既存のサブスクリプションの再初期化が必要になる可能性があることを容認します。force_reinit_subscriptionbit であり、既定値は 0 です。

    0 に設定すると、パブリケーションを変更してもサブスクリプションを再初期化する必要はありません。変更に既存のサブスクリプションの再初期化が必要であることをストアド プロシージャが検出すると、エラーが発生し、変更は加えられません。

    1 に設定すると、パブリケーションの変更によって既存のサブスクリプションが再初期化され、サブスクリプションの再初期化が許可されます。

    変更によって既存のサブスクリプションの再初期化が必要になるプロパティについては、「解説」を参照してください。

解説

sp_changemergepublication はマージ レプリケーションで使用します。

次のプロパティを変更するには、新しいスナップショットを生成する必要があります。また force_invalidate_snapshot パラメータに値 1 を指定する必要があります。

  • alt_snapshot_folder
  • compress_snapshot
  • dynamic_filters
  • ftp_address
  • ftp_login
  • ftp_password
  • ftp_port
  • ftp_subdirectory
  • post_snapshot_script
  • publication_compatibility_level (80SP3 に対してのみ)
  • pre_snapshot_script
  • snapshot_in_defaultfolder
  • sync_mode
  • use_partition_groups

次のプロパティを変更するには、既存のサブスクリプションを再初期化する必要があります。また force_reinit_subscription パラメータに値 1 を指定する必要があります。

  • dynamic_filters
  • validate_subscriber_info

publish_to_active_directory パラメータを使用して Active Directory に対してパブリケーション オブジェクトを一覧表示するには、Active Directory 内で SQL Server オブジェクトをあらかじめ作成しておく必要があります。

権限

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

戻り値

成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。

使用例

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge'; 

-- Disable DDL replication for the publication.
USE [AdventureWorks]
EXEC sp_changemergepublication 
  @publication = @publication, 
  @property = N'replicate_ddl', 
  @value = 0,
  @force_invalidate_snapshot = 0, 
  @force_reinit_subscription = 0;
GO

参照

関連項目

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

その他の技術情報

パブリケーションのプロパティを表示および変更する方法 (レプリケーション Transact-SQL プログラミング)
パブリケーションおよびアーティクルのプロパティの変更

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 12 月 12 日

追加内容 :
  • generation_leveling_threshold 値に関する情報を追加。