變更出版物和文章屬性

適用於:SQL ServerAzure SQL 受控執行個體

建立發行集之後,大多數發行集與發行項屬性都可以變更,但其中某些變更需要重新產生快照集及/或重新初始化訂閱。 本主題提供在變更時需要執行一個或兩個動作的所有屬性之資訊。

快照式和交易式複寫的發行屬性

描述 預存程序 屬性 需求
變更快照格式。 sp_changepublication sync_method 新的快照。
變更快照位置。 sp_changepublication alt_snapshot_folder

預設資料夾中的快照
新的快照。
變更快照位置。 sp_changedistpublisher working_directory 新的快照。
變更快照壓縮。 sp_changepublication compress_snapshot 新的快照。
變更任何檔案傳輸協定 (FTP) 快照選項。 sp_changepublication enabled_for_internet

ftp_address

ftp_login

ftp_password

ftp_port

ftp_subdirectory
新的快照。
變更快照前或快照後指令碼的位置。 sp_changepublication pre_snapshot_script

post_snapshot_script
新的快照(如果您變更了指令碼內容,也需要建立新的快照)。

將新的指令碼套用至訂閱者需要重新初始化。
啟用或停用非「Microsoft SQL Server 訂閱者」的支援。 sp_changepublication is_enabled_for_het_sub 新的快照。
變更佇列更新訂閱的衝突報告方式 sp_changepublication centralized_conflicts 僅可在沒有任何有效訂閱的情況下變更。
變更佇列更新訂閱的衝突解決原則。 sp_changepublication conflict_policy 僅可在沒有任何有效訂閱的情況下變更。

快照式與異動複寫的發行項屬性

描述 預存程序 屬性 需求
刪除文章 sp_droparticle 所有參數。 可以在建立訂閱之前刪除發行項。 使用預存程序時,可以刪除某個發行項的訂閱;但若使用 SQL Server Management Studio,則必須刪除整個訂閱,然後重新建立並同步。 如需詳細資訊,請參閱在現有發行項目中新增文章及從中移除文章。
變更資料行篩選。 sp_articlecolumn @column

@operation
新的快照。

重新初始化訂閱。
新增列篩選器。 sp_articlefilter 所有參數。 新的快照。

重新初始化訂閱。
卸除資料列篩選。 sp_articlefilter @article 新的快照。

重新初始化訂閱。
更改列篩選器。 sp_articlefilter @filter_clause 新的快照。

重新初始化訂閱。
更改列篩選器。 sp_changearticle filter 新的快照。

重新初始化訂閱。
變更結構描述選項。 sp_changearticle schema_option 新的快照。
變更在套用快照集之前於訂閱者端處理資料表的方式。 sp_changearticle pre_creation_cmd 新的快照。
變更文章狀態 sp_changearticle status 新的快照。
改變 INSERT, UPDATE 或 DELETE 指令。 sp_changearticle ins_cmd

upd_cmd

del_cmd
新的快照。

重新初始化訂閱。
變更目的地資料表名稱 sp_changearticle dest_table 新的快照。

重新初始化訂閱。
變更目的地資料表擁有者 (結構描述)。 sp_changearticle destination_owner 新的快照。

重新初始化訂閱。
變更資料類型對應 (僅適用於 Oracle 發行)。 sp_changearticlecolumndatatype @type

@length

@precision

@scale
新的快照。

重新初始化訂閱。

合併式複寫的發行集屬性

描述 預存程序 屬性 需求
變更快照格式 sp_changemergepublication sync_mode 新的快照。
變更快照位置。 sp_changemergepublication alt_snapshot_folder

預設資料夾中的快照
新的快照。
變更快照位置。 sp_changedistpublisher working_directory 新的快照。
變更快照壓縮 sp_changemergepublication compress_snapshot 新的快照。
變更任何 FTP 快照選項 sp_changemergepublication enabled_for_internet

ftp_address

ftp_login

ftp_password

ftp_port

ftp_subdirectory
新的快照。
變更快照前或快照後指令碼。 sp_changemergepublication pre_snapshot_script

post_snapshot_script
新的快照(如果您變更了指令碼內容,也需要建立新的快照)。

將新的指令碼套用至訂閱者需要重新初始化。
新增聯結篩選或邏輯記錄。 sp_addmergefilter 所有參數。 新的快照。

重新初始化訂閱。
刪除聯結篩選或邏輯記錄。 sp_dropmergefilter 所有參數。 新的快照。

重新初始化訂閱。
變更聯結篩選條件或邏輯記錄。 sp_changemergefilter @property

@value
新增快照

重新初始化訂閱。
停用參數化篩選 (啟用參數化篩選不需要執行任何特殊動作)。 sp_changemergepublication dynamic_filters 的值為 false 新的快照。

重新初始化訂閱。
啟用或停用預先計算的分割區。 sp_changemergepublication use_partition_groups 新的快照。
啟用或停用 Microsoft SQL Server 2000 (8.x) 資料分割最佳化。 sp_changemergepublication keep_partition_changes 重新初始化訂閱。
啟用或停用訂閱者資料分割驗證。 sp_changemergepublication validate_subscriber_info 重新初始化訂閱。
將發行集相容性層級變更為 80sp3 或更低。 sp_changemergepublication publication_compatibility_level 新的快照。

合併式複寫的發行項屬性

描述 預存程序 屬性 需求
卸除在發行集內具有最後一個參數化篩選條件的文章。 sp_dropmergearticle 所有參數 新的快照。

重新初始化訂閱。
刪除文章,其中該文章是聯結篩選或邏輯記錄中的父項(這也會連帶刪除該聯結)。 sp_dropmergearticle 所有參數 新的快照。

重新初始化訂閱。
刪除項目,其他所有情況下。 sp_dropmergearticle 所有參數 新的快照。
新增先前未公開的資料行篩選器。 sp_mergearticlecolumn @column

@operation
新的快照。

重新初始化訂閱。
新增、卸除或變更資料列篩選。 sp_changemergearticle subset_filterclause 新的快照。

重新初始化訂閱。

如果您新增、卸除或變更參數化篩選,在重新初始化期間,便無法將訂閱者的暫止變更上傳到發行者。 如果您要上傳擱置的變更,請先同步所有訂閱,再變更篩選條件。

如果某個發行項未涉及任何聯結篩選,您可以卸除該發行項,然後再以不同的資料列篩選重新新增,而不需要重新初始化整個訂閱。 如需有關新增和卸除文章的更多資訊,請參閱將文章新增至現有發行集以及從中卸除文章。
變更結構描述選項。 sp_changemergearticle schema_option 新的快照。
將追蹤從資料行層級變更為資料列層級 (從資料列層級追蹤變更為資料行追蹤不需要執行任何特殊動作)。 sp_changemergearticle column_tracking 的值為 false 新的快照。

重新初始化訂閱。
變更是否在將訂閱者端所做的陳述套用至發行者之前檢查權限。 sp_changemergearticle check_permissions 新的快照。

重新初始化訂閱。
啟用或停用僅限下載的訂閱 (與其他上傳選項相關的變更不需要執行任何特殊動作)。 sp_changemergearticle 將 subscriber_upload_options 的值變更為 2,或從 2 變更為其他值 重新初始化訂閱。
變更目的地資料表擁有者。 sp_changemergearticle destination_owner 新的快照。

重新初始化訂閱。