sp_check_dynamic_filters (Transact-SQL)
显示有关发布的参数化行筛选器属性的信息,特别是用于为发布生成已筛选数据分区的函数以及关于发布是否有资格使用预计算分区的信息。 此存储过程在发布服务器上对发布数据库执行。
语法
sp_check_dynamic_filters [ @publication = ] 'publication'
参数
- [ @publication= ] 'publication'
发布的名称。publication 的数据类型为 sysname,无默认值。
结果集
列名 |
数据类型 |
说明 |
---|---|---|
can_use_partition_groups |
bit |
表示发布是否有资格使用预计算分区;在这里,1 表示可以使用预计算分区,0 表示不能使用预计算分区。 |
has_dynamic_filters |
bit |
指定发布中是否至少已定义一个参数化行筛选器;其中,1 表示存在一个或多个参数化行筛选器,而 0 表示不存在动态筛选器。 |
dynamic_filters_function_list |
nvarchar(500) |
用于对发布中的项目进行筛选的函数列表,各个函数由分号分隔。 |
validate_subscriber_info |
nvarchar(500) |
用于对发布中的项目进行筛选的函数列表,各个函数由加号 (+) 分隔。 |
uses_host_name |
bit |
是否在参数化行筛选器中使用了 HOST_NAME() 函数,其中 1 表示动态筛选使用了此函数。 |
uses_suser_sname |
bit |
是否在参数化行筛选器中使用了 SUSER_SNAME() 函数,其中 1 表示动态筛选使用了此函数。 |
返回代码值
0(成功)或 1(失败)
注释
sp_check_dynamic_filters 用于合并复制。
如果已将发布定义为使用预计算分区,则 sp_check_dynamic_filters 会检查是否存在任何违反预计算分区限制的情况。 如果发现任何这类情况,则将返回错误。 有关详细信息,请参阅使用预计算分区优化参数化筛选器的性能。
如果已将发布定义为具有参数化行筛选器,但未找到参数化行筛选器,则将返回错误。
权限
只有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员才能执行 sp_check_dynamic_filters。