sp_check_join_filter (Transact-SQL)
適用於:SQL ServerAzure 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 。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應