sp_check_join_filter (Transact-SQL)
用于验证两个表之间的联接筛选器以确定联接筛选子句是否有效。 此存储过程还返回提供的联接筛选器的信息,其中包括联接筛选器是否可用于给定表的预计算分区。 此存储过程在发布服务器的发布中执行。 有关详细信息,请参阅使用预计算分区优化参数化筛选器性能。
语法
sp_check_join_filter [ @filtered_table = ] 'filtered_table'
, [@join_table = ] 'join_table'
, [ @join_filterclause = ] 'join_filterclause'
参数
[ @filtered_table = ] 'filtered_table'
筛选表的名称。 filtered_table 为 nvarchar(400),没有默认值。
[ @join_table = ] 'join_table'
要联接到 filtered_table的表的名称。 join_table为 nvarchar(400),没有默认值。
[ @join_filterclause = ] 'join_filterclause'
正在测试的联接筛选器子句。 join_filterclause 为 nvarchar(1000),没有默认值。
结果集
列名称 | 数据类型 | 描述 |
---|---|---|
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_join_filter用于合并复制。
即使这些表未发布,也可以针对任何相关表执行sp_check_join_filter。 在定义两个项目之间的联接筛选器之前,可以使用此存储过程验证联接筛选子句。
权限
只有 sysadmin 固定服务器角色的成员或db_owner固定数据库角色的成员才能执行sp_check_join_filter。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈