sysmergepartitioninfoview (Transact-SQL)

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

目前發行項所屬發行集的識別碼。

nickname

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 = 先在發行者端檢查權限,之後,才能上載在訂閱者端進行的 UPDATE。

0x40 = 先在發行者端檢查權限,之後,才能上載在訂閱者端進行的 DELETE。

maxversion_at_cleanup

int

下次執行合併代理程式時,所清除的最大層代 (Generation)。

processing_order

int

指出合併式發行集中之發行項的處理順序;0 值表示發行集並未排序,發行項是依照從最低值到最高值的順序來處理。如果兩個發行項有相同的值,就會同時處理它們。如需詳細資訊,請參閱<指定合併發行項的處理順序>。

upload_options

tinyint

定義是否能在訂閱者端進行變更或從訂閱者上載變更,它可以是下列值之一。

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

1 = 允許在訂閱者端進行變更;但它們不會上載到發行者。

2 = 不允許在訂閱者端進行變更。

published_in_tran_pub

bit

指出合併式發行集中的發行項也在交易式發行集中發行。

0 = 發行項不在交易式發行項中發行。

1 = 發行項也在交易式發行項中發行。

lightweight

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,不過,它會在更新和刪除觸發程序中,顯示 "deleted" 資料表中的子資料列。

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

資料分割的名稱。