sp_check_dynamic_filters (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。