次の方法で共有


sp_check_subset_filter (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

任意のテーブルに対してフィルター句をチェックし、テーブルに対してフィルター句が有効かどうかを判断します。 このストアド プロシージャは、フィルターが事前計算済みパーティションでの使用条件を満たすかどうかも含め、指定されたフィルターに関する情報を返します。 このストアド プロシージャは、パブリケーションを含むデータベースのパブリッシャーで実行されます。

Transact-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_tablenvarchar(400) で、既定値はありません。

[ @subset_filterclause = ] N'subset_filterclause'

テスト対象のフィルター句。 @subset_filterclausenvarchar(1000)で、既定値はありません。

[ @has_dynamic_filters = ] has_dynamic_filters OUTPUT

フィルター句がパラメーター化された行フィルターであるかどうかを指定します。 @has_dynamic_filters は、 bit 型の OUTPUT パラメーターです。 フィルター句がパラメーター化された行フィルターである場合に 1 の値を返します。

結果セット

列名 データ型 説明
can_use_partition_groups bit パブリケーションが事前計算済みパーティションを使用する資格がある場合です。ここで 1 は、事前計算済みのパーティションを使用できることを意味し、 0 は使用できないことを意味します。
has_dynamic_filters bit 指定されたフィルター句に、パラメーター化された行フィルターが少なくとも 1 つ含まれている場合です。ここで 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 は、テーブルがパブリッシュされていない場合でも、任意のテーブルに対して実行できます。 このストアド プロシージャは、フィルター処理されたアーティクルを定義する前にフィルター句を検証するために使用できます。

アクセス許可

sysadmin固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーのみがsp_check_subset_filterを実行できます。