sp_check_join_filter (Transact-SQL)

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

主题链接图标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),无默认值。

返回代码值

0(成功)或 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 表示使用了此函数。

备注

sp_check_join_filter 用于合并复制。

可以对所有相关表执行 sp_check_join_filter,即使这些表没有发布。在定义两个项目之间的联接筛选器之前,可以使用此存储过程验证联接筛选子句。

权限

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

请参阅

参考

复制存储过程 (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助