Share via


sp_check_dynamic_filters (Transact-SQL)

顯示發行集之參數化資料列篩選器屬性的相關資訊,尤其是用來產生發行集篩選資料分割的函數,以及發行集是否適合使用預先計算的資料分割。 這個預存程序執行於發行集資料庫的發行者端。

主題連結圖示 Transact-SQL 語法慣例

語法

sp_check_dynamic_filters [ @publication = ] 'publication'

引數

  • [ @publication= ] 'publication'
    這是發行集的名稱。 publication 是 sysname,沒有預設值。

結果集

資料行名稱

資料類型

說明

can_use_partition_groups

bit

指出發行集是否能夠使用預先計算的資料分割;其中 1 表示可以使用預先計算的資料分割;而 0 表示不能使用。

has_dynamic_filters

bit

這是指是否在發行集中定義了至少一個參數化資料列篩選器;其中 1 表示有一或多項參數化資料列篩選器存在,而 0 表示沒有動態篩選。

dynamic_filters_function_list

nvarchar(500)

用來篩選發行集中的發行項之函數清單,每個函數都用分號來分開。

validate_subscriber_info

nvarchar(500)

用來篩選發行集中的發行項之函數清單,每個函數都用加號 (+) 來分開。

uses_host_name

bit

指出 HOST_NAME() 函數是否用於參數化資料列篩選器,1 表示利用這個函數來進行動態篩選。

uses_suser_sname

bit

指出 SUSER_SNAME() 函數是否用於參數化資料列篩選器,1 表示利用這個函數來進行動態篩選。

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_check_dynamic_filters 用於合併式複寫中。

如果已定義發行集來使用預先計算的資料分割,sp_check_dynamic_filters 會檢查預先計算之資料分割的任何違反限制的情況。 如果找到任何違反限制的情況,便會傳回錯誤。 如需詳細資訊,請參閱<使用預先計算的資料分割最佳化參數化篩選效能>。

如果已將發行集定義為有參數化資料列篩選器,但找不到參數化資料列篩選器,便會傳回錯誤。

權限

只有系統管理員 (sysadmin) 固定伺服器角色和 db_owner 固定資料庫角色的成員,才能夠執行 sp_check_dynamic_filters

請參閱

參考

sp_check_join_filter (Transact-SQL)

sp_check_subset_filter (Transact-SQL)

概念

使用參數化篩選管理合併式發行集的資料分割