sp_check_join_filter (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

用于验证两个表之间的联接筛选器以确定联接筛选子句是否有效。 此存储过程还返回提供的联接筛选器的信息,其中包括联接筛选器是否可用于给定表的预计算分区。 此存储过程在发布服务器的发布中执行。 有关详细信息,请参阅使用预计算分区优化参数化筛选器性能

Transact-SQL 语法约定

语法

  
sp_check_join_filter [ @filtered_table = ] 'filtered_table'  
        , [@join_table = ] 'join_table'  
        , [ @join_filterclause = ] 'join_filterclause'  

参数

[ @filtered_table = ] 'filtered_table' 筛选表的名称。 filtered_tablenvarchar (400) ,没有默认值。

[ @join_table = ] 'join_table' 要联接到 filtered_table的表的名称。 join_tablenvarchar (400) ,没有默认值。

[ @join_filterclause = ] 'join_filterclause' 正在测试的联接筛选器子句。 join_filterclausenvarchar (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

另请参阅

复制存储过程 (Transact-SQL)