sp_changemergepublication (Transact-SQL)
更新: 2006 年 12 月 12 日
變更合併式發行集的屬性。這個預存程序執行於發行集資料庫的發行者端。
語法
sp_changemergepublication [ @publication= ] 'publication'
[ , [ @property= ] 'property' ]
[ , [ @value= ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
引數
- [ @publication=] 'publication'
這是發行集的名稱。publication 是 sysname,沒有預設值。
- [ @property=] 'property'
這是給定發行集要變更的屬性。property 是 sysname,它可以是下表列出的值之一。
[ @value=] 'value'
這是指定屬性的新值。value 是 nvarchar(255),它可以是下表列出的值之一。下表描述可變更的發行集屬性及這些屬性值的限制。
屬性
[ @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 指定發行集的變更會使現有的訂閱重新初始化,且會提供將發生之訂閱重新初始化的權限。
請參閱<備註>一節,以瞭解在變更時需要重新初始化所有現有的訂閱之屬性。
傳回碼值
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)
變更發行集與發行項屬性
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 12 月 12 日 |
|