sp_check_subset_filter (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
如果 filter 子句是参数化行筛选器,则为 。 has_dynamic_filters 为 位,默认值为 NULL,是输出参数。 当 filter 子句是参数化行筛选器时,返回值 1 。
结果集
列名称 | 数据类型 | 说明 |
---|---|---|
can_use_partition_groups | bit | 如果发布有资格使用预计算分区,则为 ;其中 1 表示可以使用预计算分区, 0 表示无法使用它们。 |
has_dynamic_filters | bit | 如果提供的筛选器子句至少包含一个参数化行筛选器,则为 ;其中 1 表示使用参数化行筛选器, 0 表示不使用此类函数。 |
dynamic_filters_function_list | nvarchar(500) | 筛选子句中动态筛选项目的函数的列表,其中,以分号分隔每个函数。 |
uses_host_name | bit | 如果在 filter 子句中使用 HOST_NAME () 函数,其中 1 表示存在此函数。 |
uses_suser_sname | bit | 如果在 filter 子句中使用 SUSER_SNAME () 函数,其中 1 表示存在此函数。 |
返回代码值
0 (成功) 或 1 (失败)
备注
sp_check_subset_filter 用于合并复制。
即使表未发布,也可以针对任何表执行sp_check_subset_filter。 在定义筛选项目之前,此存储过程可以用来验证筛选子句。
权限
只有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员才能执行 sp_check_subset_filter。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈