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_tablenvarchar(400),沒有預設值。
  • [ @join_table= ] 'join_table'
    這是要聯結到 filtered_table 的資料表名稱。join_tablenvarchar(400),沒有預設值。
  • [ @join_filterclause = ] 'join_filterclause'
    這是正在測試的聯結篩選子句。join_filterclausenvarchar(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 協助