共用方式為


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 = 未同步處理 - 下次執行快照集代理程式時,發行資料表的初始處理腳本將會執行。

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 發行項所排除的資料行數目。
columns 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 下次執行合併代理程式時,所清除的最大層代 (Generation)。
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)