sysmergepartitioninfoview (Transact-SQL)
sysmergepartitioninfoview 视图公开表项目的分区信息。此视图存储在发布服务器的发布数据库以及订阅服务器的订阅数据库中。
列名 |
数据类型 |
说明 |
---|---|---|
name |
sysname |
项目的名称。 |
type |
tinyint |
指示项目类型,可以为下列类型之一: 0x0a = 表。 0x20 = 纯过程架构。 0x40 = 仅视图架构或仅索引视图架构。 0x80 = 仅函数架构。 |
objid |
int |
已发布对象的标识符。 |
sync_objid |
int |
表示同步数据集的视图的对象 ID。 |
view_type |
tinyint |
视图类型: 0 = 不是视图;使用所有基对象。 1 = 永久视图。 2 = 临时视图。 |
artid |
uniqueidentifier |
指定项目的唯一标识号。 |
description |
nvarchar(255) |
项目的简要说明。 |
pre_creation_command |
tinyint |
在订阅数据库中创建项目时将执行的默认操作: 0 = 无 - 如果表已存在于订阅服务器上,则不执行任何操作。 1 = 除去 - 在重新创建表之前除去该表。 2 = 删除 - 根据子集筛选器中的 WHERE 子句进行删除。 3 = 截断 – 与 2 相同,但删除的是页面而不是行。不过,不使用 WHERE 子句。 |
pubid |
uniqueidentifier |
当前项目所属发布的 ID。 |
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) |
自定义冲突解决程序的 ID。对于业务逻辑处理程序,该值为 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 |
跟踪表对象 ID。当已对发布启用分区更改优化时,跟踪表将包含某些键列值。 |
before_view_objid |
int |
视图表的对象 ID。视图所在的表用于在删除或更新行之前跟踪行是否属于特定的订阅服务器。仅当对发布启用了分区更改优化时才适用。 |
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 |
合并代理下次运行时清除的最大生成。 |
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 |
更新前表视图的 ID。 |
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 |
在合并复制触发器内部使用的语句,用于根据其旧列值检索每个已删除或已更新行的分区 ID。 |
partition_inserted_view_rule |
Sysname |
在合并复制触发器内部使用的语句,用于根据其新列值检索每个已插入或已更新行的分区 ID。 |
membership_eval_proc_name |
sysname |
过程名称,该过程计算 MSmerge_contents (Transact-SQL) 中的行的当前分区 ID。 |
column_list |
sysname |
在项目中发布的列的逗号分隔列表。 |
column_list_blob |
sysname |
在项目中发布的列(包括二进制大型对象列)的逗号分隔列表。 |
expand_proc |
sysname |
过程名称,该过程重新计算新插入的父行的所有子行的分区 ID,以及经历了分区更改或已被删除的父行的分区 ID。 |
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 |
分区名称。 |