sp_check_subset_filter (Transact-SQL)

用于对任何表检查筛选子句,以确定筛选子句对该表是否有效。 此存储过程返回所提供的筛选器的相关信息,包括筛选器是否适合用于预计算分区。 此存储过程在发布服务器上包含该发布的数据库中执行。

主题链接图标 Transact-SQL 语法约定

语法

sp_check_subset_filter [ @filtered_table = ] 'filtered_table' 
        , [ @subset_filterclause = ] 'subset_filterclause'
    [ , [ @has_dynamic_filters = ] has_dynamic_filters OUTPUT ]

参数

  • [ @filtered_table= ] 'filtered_table'
    筛选的表的名称。 filtered_table 的数据类型为 nvarchar(400),无默认值。

  • [ @subset_filterclause = ] 'subset_filterclause'
    要测试的筛选子句。 subset_filterclause 的数据类型为 nvarchar(1000),无默认值。

  • [ @has_dynamic_filters= ] has_dynamic_filters
    筛选子句是否是参数化行筛选器。 has_dynamic_filters 的数据类型为 bit,默认值为 NULL,并且是输出参数。 如果筛选子句是参数化行筛选器,则返回值 1

结果集

列名

数据类型

说明

can_use_partition_groups

bit

发布是否有资格使用预计算分区;在这里,1 表示可以使用预计算分区,0 表示不能使用预计算分区。

has_dynamic_filters

bit

所提供的筛选子句是否包括至少一个参数化行筛选器;在这里,1 表示使用了参数化行筛选器,0 表示未使用这样的函数。

dynamic_filters_function_list

nvarchar(500)

筛选子句中动态筛选项目的函数的列表,其中,以分号分隔每个函数。

uses_host_name

bit

是否在筛选子句中使用了 HOST_NAME() 函数,其中 1 表示使用了此函数。

uses_suser_sname

bit

是否在筛选子句中使用了 SUSER_SNAME() 函数,其中 1 表示使用了该函数。

返回代码值

0(成功)或 1(失败)

注释

sp_check_subset_filter 用于合并复制。

可以对任何表(即使该表未发布)执行 sp_check_subset_filter。 在定义筛选项目之前,此存储过程可以用来验证筛选子句。

权限

只有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员才能执行 sp_check_subset_filter

请参阅

概念

使用预计算分区优化参数化筛选器的性能