分享方式:


sysmergepartitioninfoview (Transact-SQL)

適用於:SQL Server

sysmergepartitioninfoview 檢視會公開數據表發行項的數據分割資訊。 這個檢視會儲存在發行者資料庫的發行集資料庫,以及訂閱者端的訂閱資料庫。

資料行名稱 資料類型 描述
name sysname 發行項的名稱。
type tinyint 指出發行項類型,可以是下列其中一項:

0x0a = 資料表。

0x20 = 僅程序架構。

0x40 = 僅檢視架構或索引檢視架構。

0x80 = 僅限函式架構。
objid int 已發行物件的標識碼。
sync_objid int 表示同步數據集之檢視的物件標識碼。
view_type tinyint 檢視的類型:

0 = 不是檢視,請使用所有基底物件。

1 = 永久檢視。

2 = 暫存檢視。
artid uniqueidentifier 指定發行項的唯一標識碼。
description nvarchar(255) 本文的簡短描述。
pre_creation_command tinyint 在訂閱資料庫中建立發行項時要採取的默認動作:

0 = 無 - 如果資料表已存在於訂閱者端,則不會採取任何動作。

1 = 卸除 - 在重新建立數據表之前卸除數據表。

2 = 刪除 - 根據子集篩選中的 WHERE 子句發出刪除。

3 = 截斷 - 與 2 相同,但會刪除頁面,而不是數據列。 不過,不會採用 WHERE 子句。
pubid uniqueidentifier 目前發行項所屬之發行集的標識碼。
昵稱 int 發行項識別的昵稱對應。
column_tracking int 指出是否針對發行項實作數據行追蹤。
status tinyint 指出發行項的狀態,可以是下列其中一項:

1 = Unsynced - 發行數據表的初始處理腳本會在下次執行 快照集代理程式 時執行。

2 = 作用中 - 已執行發行數據表的初始處理文稿。
conflict_table sysname 包含目前發行項衝突記錄的本機數據表名稱。 此數據表僅供資訊使用,而且其內容可能由自定義衝突解決例程修改或刪除,或由系統管理員直接修改或刪除。
creation_script nvarchar(255) 本文的建立腳本。
conflict_script nvarchar(255) 本文的衝突腳本。
article_resolver nvarchar(255) 本文的衝突解決器。
ins_conflict_proc sysname 用來將衝突資訊寫入衝突數據表的程式。
insert_proc sysname 在同步處理期間用來插入數據列的程式。
update_proc sysname 在同步處理期間用來更新數據列的程式。
select_proc sysname 自動產生的預存程式名稱,合併代理程式 用來完成鎖定,並尋找發行項的數據行和數據列。
metadata_select_proc sysname 自動產生的預存程式名稱,用來存取合併式複寫系統數據表中的元數據。
delete_proc sysname 在同步處理期間用來刪除資料列的程式。
schema_option binary(8) 指定發行項之架構產生選項的點陣圖。 如需支援 schema_option 值的資訊,請參閱 sp_addmergearticle (Transact-SQL)
destination_object sysname 在訂閱者端建立的數據表名稱。
destination_owner sysname 目的地對象的擁有者名稱。
resolver_clsid nvarchar(50) 自定義衝突解析程序的標識碼。 對於商業規則處理程式,此值為 NULL。
subset_filterclause nvarchar(1000) 本文的篩選子句。
missing_col_count int 發行項中遺漏的已發佈數據行數目。
missing_cols varbinary(128) 描述文章中遺漏之數據行的點陣圖。
excluded_cols varbinary(128) 從發行項排除的數據行位圖。
excluded_col_count int 從發行項排除的數據行數目。
varbinary(128) 僅供參考之用。 不支援。 我們無法保證未來的相容性。
deleted_cols varbinary(128) 描述從發行項中刪除之數據行的點陣圖。
resolver_info nvarchar(255) 儲存空間,以取得自定義衝突解決器所需的其他資訊。
view_sel_proc nvarchar(290) 合併代理程式 用來在動態篩選發行集中執行發行項初始母體擴展的預存程式名稱,以及列舉任何篩選發行集中變更的數據列。
gen_cur bigint 產生發行項基表的本機變更數目。
vertical_partition int 指定是否在數據表發行項上啟用資料行篩選。 0 表示沒有垂直篩選,併發佈所有數據行。
identity_support int 指定是否啟用自動識別範圍處理。 1 表示已啟用識別範圍處理, 0 表示沒有識別範圍支援。
before_image_objid int 追蹤數據表物件識別碼。 當發行集啟用數據分割變更優化時,追蹤數據表會包含特定索引鍵數據行值。
before_view_objid int 檢視表的物件識別碼。 檢視位於數據表上,可追蹤資料列在刪除或更新之前是否屬於特定訂閱者。 只有在發行集已啟用數據分割變更優化時,才適用。
verify_resolver_signature int 指定在合併式複寫中使用解析程式之前,是否驗證數位簽名:

0 = 未驗證簽章。

1 = 簽章已驗證,以查看它是否來自受信任的來源。
allow_interactive_resolver bit 指定是否啟用發行項上的互動式解析程式。 1 表示可在發行項上使用互動式解析程式。
fast_multicol_updateproc bit 指定是否已啟用 合併代理程式,以將變更套用至一個 UPDATE 語句中相同數據列中的多個數據行。

0 = 針對每個資料行所變更的個別 UPDATE 發出問題。

1 = 在 UPDATE 語句上發出,導致一個語句中的多個數據行發生更新。
check_permissions int 當 合併代理程式 將變更套用至發行者時,將會驗證之數據表層級許可權的位圖。 check_permissions可以有下列其中一個值:

0x00 = 不會檢查許可權。

0x10 = 在訂閱者端進行 INSERT 之前,先檢查發行者的許可權。

0x20 = 先檢查發行者的許可權,才能上傳訂閱者端的 UPDATEEs。

0x40 = 先檢查發行者的許可權,然後才能上傳訂閱者端的 DELET。
maxversion_at_cleanup int 下次執行 合併代理程式 時清除的最大世代。
processing_order int 指出合併式發行集中發行項的處理順序;其中 值為 0 表示發行項未排序,且發行項會依最低值到最高值的順序進行處理。 如果兩個發行項有相同的值,就會同時處理它們。 如需詳細資訊,請參閱指定合併式複寫屬性
upload_options tinyint 定義是否可以在 訂閱者端或上傳變更,這可以是下列其中一個值。

0 = 訂閱者端的更新沒有任何限制;所有變更都會上傳至發行者。

1 = 訂閱者允許變更,但不會上傳至發行者。

2 = 訂閱者端不允許變更。
published_in_tran_pub bit 表示合併式發行集中的發行項也會在交易式發行集中發行。

0 = 發行項未在交易式發行項中發佈。

1 = 發行項也會發行在交易式發行項中。
bit 僅供參考之用。 不支援。 我們無法保證未來的相容性。
procname_postfix nchar(32) 僅供參考之用。 不支援。 我們無法保證未來的相容性。
well_partitioned_lightweight bit 僅供參考之用。 不支援。 我們無法保證未來的相容性。
before_upd_view_objid int 更新之前數據表檢視的標識碼。
delete_tracking bit 指出是否復寫刪除。

0 = 不會復寫刪除。

1 = 複寫刪除,這是合併式複寫的默認行為。

當 delete_tracking 的值0 時,必須在發行者端手動移除訂閱者端刪除的數據列,而且必須在訂閱者端手動移除發行者端刪除的數據列。

注意:值為 0 會導致非聚合。
compensate_for_errors bit 指出當同步處理期間發生錯誤時,是否要採取補償動作。

0 = 已停用補償動作。

1 = 在訂閱者或發行者端無法套用的變更一律會導致補償動作復原這些變更,這是合併式複寫的默認行為。

注意:值為 0 會導致非聚合。
pub_range bigint 發行者識別範圍大小。
range bigint 調整中指派給訂閱者之連續識別值的大小。
threshold int 識別範圍臨界值百分比。
stream_blob_columns bit 指出是否使用二進位大型對象數據行的串流優化。 1 表示嘗試優化。
preserve_rowguidcol bit 指出複寫是否使用現有的rowguid數據行。 值為 1 表示使用現有的 ROWGUIDCOL 資料行。 0 表示複寫已新增 ROWGUIDCOL 資料行。
partition_view_id int 識別定義訂閱者分割區的檢視。
repl_view_id int 僅供參考之用。 不支援。 我們無法保證未來的相容性。
partition_deleted_view_rule sysname 在合併式復寫觸發程式內使用的 語句,根據舊數據行值擷取每個已刪除或更新的數據列的數據分割標識符。
partition_inserted_view_rule Sysname 合併式復寫觸發程式內使用的 語句,根據新的數據行值擷取每個插入或更新的數據分割標識符。
membership_eval_proc_name sysname 評估 MSmerge_contents 中數據列目前數據分割標識符的程式名稱(Transact-SQL)。
column_list sysname 發行項中發行之數據行的逗號分隔清單。
column_list_blob sysname 發行項中發行之數據行的逗號分隔清單,包括二進位大型物件數據行。
expand_proc sysname 重新評估新插入父數據列之所有子數據列之數據分割標識碼的程式名稱,以及已經歷數據分割變更或已刪除之父數據列的程序名稱。
logical_record_parent_nickname int 邏輯記錄中指定發行項最上層父代的昵稱。
logical_record_view int 一個檢視,輸出對應至每個子rowguid的最上層父發行項rowguid。
logical_record_deleted_view_rule sysname 類似於 logical_record_view,不同之處在於它會在更新和刪除觸發程式中顯示「已刪除」數據表中的子數據列。
logical_record_level_conflict_detection bit 指出應該在邏輯記錄層級或數據列或數據行層級偵測衝突。

0 = 使用資料列或資料行層級衝突偵測。

1 = 使用邏輯記錄衝突偵測,其中發行者端數據列的變更和在訂閱者端相同邏輯記錄的個別數據列中變更會當做衝突處理。

當此值為 1 時,只能使用邏輯記錄層級衝突解決。
logical_record_level_conflict_resolution bit 指出應該在邏輯記錄層級或數據列或數據行層級解決衝突。

0 = 使用資料列或資料階層級解析度。

1 = 發生衝突時,勝出者的整個邏輯記錄會覆寫遺失端的整個邏輯記錄。

值 1 可以搭配邏輯記錄層級偵測與數據列或數據行層級偵測搭配使用。
partition_options tinyint 定義發行項數據分割的方式,當所有數據列只屬於一個數據分割或一個訂閱時,這可啟用效能優化。 partition_options可以是下列其中一個值。

0 = 發行項的篩選是靜態的,或不會產生每個數據分割的唯一數據子集,也就是「重疊」的數據分割。

1 = 分割區重疊,而且訂閱者端進行的 DML 更新無法變更數據列所屬的數據分割。

2 = 發行項的篩選會產生非重疊的數據分割,但多個訂閱者可以接收相同的分割區。

3 = 發行項的篩選會產生每個訂用帳戶唯一的非重疊分割區。
name sysname 數據分割的名稱。

另請參閱

使用參數化篩選管理合併式發行集的資料分割
複寫資料表 (Transact-SQL)
複寫檢視 (Transact-SQL)
sp_addmergepartition (Transact-SQL)
sp_helpmergepartition (Transact-SQL)