次の方法で共有


sp_changepublication (Transact-SQL)

更新 : 2006 年 12 月 12 日

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

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

構文

sp_changepublication [ [ @publication = ] 'publication' ]
    [ , [ @property = ] 'property' ]
    [ , [ @value = ] 'value' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
    [ , [ @publisher = ] 'publisher' ]

引数

  • [ @publication=] 'publication'
    パブリケーションの名前を指定します。publication のデータ型は sysname で、既定値は NULL です。
  • [ @property=] 'property'
    変更するパブリケーションのプロパティを指定します。property のデータ型は nvarchar(255) です。
  • [ @value=] 'value'
    新しいプロパティ値を指定します。value のデータ型は nvarchar(255) で、既定値は NULL です。

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

    プロパティ

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

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

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

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

  • [@force_reinit_subscription = ] force_reinit_subscription
    このストアド プロシージャが実行する操作によって、既存のサブスクリプションの再初期化が必要になることを許可します。force_reinit_subscription のデータ型は bit で、既定値は 0 です。

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

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

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

    ms188413.note(ja-jp,SQL.90).gifメモ :
    SQL Server パブリッシャでアーティクルのプロパティを変更する場合は、publisher は使用しないでください。

解説

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

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

  • alt_snapshot_folder
  • compress_snapshot
  • enabled_for_het_sub
  • ftp_address
  • ftp_login
  • ftp_password
  • ftp_port
  • ftp_subdirectory
  • post_snapshot_script
  • pre_snapshot_script
  • snapshot_in_defaultfolder
  • sync_mode

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

権限

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

戻り値

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

使用例

DECLARE @publication AS sysname
SET @publication = N'AdvWorksProductTran' 

-- Turn off DDL replication for the transactional publication.
USE [AdventureWorks]
EXEC sp_changepublication 
  @publication = @publication, 
  @property = N'replicate_ddl', 
  @value = 0
GO

参照

関連項目

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

その他の技術情報

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

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 12 月 12 日

追加内容 :
  • sync_method プロパティの新しい値に関する情報を追加。