次の方法で共有


sp_check_join_filter (Transact-SQL)

2 つのテーブル間の結合フィルターを検証し、結合フィルター句が有効かどうかを判別する場合に使用します。 このストアド プロシージャは、指定したテーブルの事前計算されたパーティションで、指定した結合フィルターを使用できるかどうかなど、指定した結合フィルターに関する情報を返します。 このストアド プロシージャは、パブリケーション上のパブリッシャー側で実行されます。 詳細については、「事前計算済みパーティションによるパラメーター化されたフィルターのパフォーマンス最適化」を参照してください。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

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 はこの関数が存在することを示します。

戻り値

0 (成功) または 1 (失敗)

説明

sp_check_join_filter は、マージ レプリケーションで使用します。

テーブルがパブリッシュされていない場合でも、関連するテーブルに対して sp_check_join_filter を実行できます。 このストアド プロシージャは、2 つのアーティクル間の結合フィルターを定義する前に、結合フィルター句を検証するときに使用できます。

権限

sp_check_join_filter を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバーだけです。

関連項目

参照

レプリケーション ストアド プロシージャ (Transact-SQL)