sp_check_join_filter (Transact-SQL)
2 つのテーブル間の結合フィルタを検証し、結合フィルタ句が有効かどうかを判別する場合に使用します。このストアド プロシージャは、指定したテーブルの事前計算されたパーティションで、指定した結合フィルタを使用できるかどうかなど、指定した結合フィルタに関する情報を返します。このストアド プロシージャは、パブリケーション上のパブリッシャ側で実行されます。詳細については、「事前計算済みパーティションによるパラメータ化されたフィルタのパフォーマンス最適化」を参照してください。
構文
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 つのパラメータ化されたフィルタ関数が使用されているかどうかを示します。1 はパラメータ化されたフィルタ関数が使用されていることを示し、0 は使用されていないことを示します。 |
dynamic_filters_function_list |
nvarchar(500) |
アーティクルのパラメータ化されたフィルタを定義する、フィルタ句内の関数の一覧。各関数はセミコロンで区切られます。 |
uses_host_name |
bit |
HOST_NAME() 関数がフィルタ句で使用されているかどうかを示します。1 はこの関数が存在することを示します。 |
uses_suser_sname |
bit |
SUSER_SNAME() 関数がフィルタ句で使用されているかどうかを示します。1 はこの関数が存在することを示します。 |
解説
sp_check_join_filter は、マージ レプリケーションで使用します。
テーブルがパブリッシュされていない場合でも、関連するテーブルに対して sp_check_join_filter を実行できます。このストアド プロシージャは、2 つのアーティクル間の結合フィルタを定義する前に、結合フィルタ句を検証するときに使用できます。
権限
sp_check_join_filter を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバだけです。
戻り値
0 (成功) または 1 (失敗)
参照
関連項目
レプリケーション ストアド プロシージャ (Transact-SQL)