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_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可以針對任何相關的資料表執行,即使它們未發佈也一樣。 這個預存程式可用來驗證聯結篩選子句,再定義兩個發行項之間的聯結篩選。

權限

只有系統管理員 固定伺服器角色或 db_owner 固定資料庫角色的成員 才能執行 sp_check_join_filter

另請參閱

複寫預存程式 (Transact-SQL)