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 指定發行集的變更會使現有的訂閱重新初始化,且會提供將發生之訂閱重新初始化的權限。

    請參閱<備註>一節,以瞭解在變更時需要重新初始化所有現有的訂閱之屬性。

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_changemergepublication 用於合併式複寫中。

變更下列屬性需要產生新的快照集,但您必須指定 1 值給 force_invalidate_snapshot 參數。

  • 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

變更下列屬性需要重新初始化現有的訂閱,但您必須指定 1 值給 force_reinit_subscription 參數。

  • dynamic_filters
  • validate_subscriber_info

若要利用 publish_to_active_directory 來列出 Active Directory 中的發行集物件,必須已在 Active Directory 中建立 SQL Server 物件。

權限

只有系統管理員 (sysadmin) 固定伺服器角色或 db_owner 固定資料庫角色的成員,才能夠執行 sp_changemergepublication

範例

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)

其他資源

How to: View and Modify Publication Properties (Replication Transact-SQL Programming)
變更發行集與發行項屬性

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 12 月 12 日

新增內容:
  • 新增有關 generation_leveling_threshold 值的資訊。