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 つのパラメータ化された行フィルタがパブリケーションで定義されているかどうかを示します。1 は 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 はこの関数が動的フィルタで使用されることを示します。 |
解説
sp_check_dynamic_filters は、マージ パブリケーションで使用します。
パブリケーションで、事前計算済みパーティションの使用が定義されている場合、sp_check_dynamic_filters では、事前計算済みパーティションの制約に違反がないかどうかが確認されます。違反が見つかった場合、エラーが返されます。詳細については、「事前計算済みパーティションによるパラメータ化されたフィルタのパフォーマンス最適化」を参照してください。
パブリケーションにパラメータ化された行フィルタがあることが定義されていても、パラメータ化された行フィルタが見つからない場合は、エラーが返されます。
権限
sp_check_dynamic_filters を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバだけです。
戻り値
0 (成功) または 1 (失敗)
参照
関連項目
sp_check_join_filter (Transact-SQL)
sp_check_subset_filter (Transact-SQL)
その他の技術情報
パラメータ化されたフィルタを使用してマージ レプリケーションのパーティションを管理する方法 (レプリケーション Transact-SQL プログラミング)