sp_check_subset_filter (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體
針對任何數據表檢查篩選子句,以判斷篩選子句是否對數據表有效。 此預存程式會傳回所提供篩選的相關信息,包括篩選條件是否符合與預先計算數據分割搭配使用。 這個預存程式是在包含發行集之資料庫的發行者端執行。
語法
sp_check_subset_filter
[ @filtered_table = ] N'filtered_table'
, [ @subset_filterclause = ] N'subset_filterclause'
[ , [ @has_dynamic_filters = ] has_dynamic_filters OUTPUT ]
[ , [ @dynamic_filters_function_list = ] N'dynamic_filters_function_list' OUTPUT ]
[ ; ]
引數
[ @filtered_table = ] N'filtered_table'
篩選數據表的名稱。 @filtered_table為 nvarchar(400),沒有預設值。
[ @subset_filterclause = ] N'subset_filterclause'
要測試的篩選子句。 @subset_filterclause為 nvarchar(1000),沒有預設值。
[ @has_dynamic_filters = ] has_dynamic_filters OUTPUT
指定篩選子句是否為參數化數據列篩選。 @has_dynamic_filters是 bit 類型的 OUTPUT 參數。 當 filter 子句是參數化數據列篩選時,傳回 的值 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 表示此函式存在。 |
[ @dynamic_filters_function_list = ] N'dynamic_filters_function_list' OUTPUT
僅供參考之用。 不支援。 我們無法保證未來的相容性。
傳回碼值
0
(成功) 或 1
(失敗)。
備註
sp_check_subset_filter
用於合併式複寫。
sp_check_subset_filter
即使數據表未發佈,也可以針對任何數據表執行。 這個預存程式可用來驗證篩選子句,再定義篩選的發行項。
權限
只有系統管理員固定伺服器角色或db_owner固定資料庫角色的成員才能執行 sp_check_subset_filter
。