パラメータ化された行フィルタを最適化する方法 (SQL Server Management Studio)
次の設定を使用して、パラメータ化された行フィルタを最適化できます。
- [パーティションのオプション]
このオプションは、[アーティクルのプロパティ - <Article>] ダイアログ ボックスの [プロパティ] ページ、または [フィルタの追加] ダイアログ ボックスで設定します。どちらのダイアログ ボックスも、パブリケーションの新規作成ウィザードおよび [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスからアクセスできます。[アーティクルのプロパティ - <Article>] ダイアログ ボックスでは、[フィルタの追加] ダイアログ ボックスでは使用できない、このオプションに対する追加の値も指定できます。 - [パーティションの事前計算]
このオプションは、パブリケーションのアーティクルが一連の要件を満たしている場合に、既定で [True] に設定されています。これらの要件の詳細については、「事前計算済みパーティションによるパラメータ化されたフィルタのパフォーマンス最適化」を参照してください。このオプションは、[パブリケーションのプロパティ - <Publication>] ダイアログ ボックスの [サブスクリプション オプション] ページで変更します。 - [同期の最適化]
このオプションは、[パーティションの事前計算] が [False] に設定されている場合にのみ、[True] に設定されています。このオプションは、[パブリケーションのプロパティ - <Publication>] ダイアログ ボックスの [サブスクリプション オプション] ページで設定します。
パブリケーションの新規作成ウィザードの使用方法、および [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスへのアクセス方法の詳細については、「パブリケーションを作成してアーティクルを定義する方法 (SQL Server Management Studio)」および「パブリケーションとアーティクルのプロパティを表示および変更する方法 (SQL Server Management Studio)」を参照してください。
[フィルタの追加] または [フィルタの編集] ダイアログ ボックスでパーティションのオプションを設定するには
パブリケーションの新規作成ウィザードの [テーブル行のフィルタ選択] ページ、または [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスの [行のフィルタ選択] ページで、[追加] をクリックし、[フィルタの追加] をクリックします。
パラメータ化されたフィルタを作成します。詳細については、「マージ アーティクルのパラメータ化された行フィルタを定義および変更する方法 (SQL Server Management Studio)」を参照してください。
複数のサブスクライバ間でのデータの共有方法に一致するオプションを選択します。
- [このテーブルの 1 行を複数のサブスクリプションに移動する]
- [このテーブルの 1 行を 1 つのサブスクリプションのみに移動する]
[このテーブルの 1 行を 1 つのサブスクリプションのみに移動する] を選択すると、マージ レプリケーションは、格納および処理するメタデータを減らすことにより、パフォーマンスを最適化できます。ただし、データのパーティション分割によって、1 つの行が複数のサブスクライバにレプリケートされないことを確認する必要があります。詳細については、「パラメータ化された行フィルタ」の「パーティション オプションの設定」を参照してください。
[OK] をクリックします。
[パブリケーションのプロパティ - <Publication>] ダイアログ ボックスが表示されている場合は、[OK] をクリックして保存し、ダイアログ ボックスを閉じます。
[アーティクルのプロパティ - <Article>] ダイアログ ボックスで [パーティションのオプション] を設定するには
パブリケーションの新規作成ウィザードの [アーティクル] ページ、または [パブリケーションのプロパティ - <Publication>] ダイアログ ボックスでテーブルを選択し、[アーティクルのプロパティ] をクリックします。
[反転表示されたテーブル アーティクルのプロパティを設定] または [すべてのテーブル アーティクルのプロパティを設定] をクリックします。
[アーティクルのプロパティ - <Article>] ダイアログ ボックスの [プロパティ] タブの [対象オブジェクト] セクションで、[パーティションのオプション] に対して以下のいずれかの値を指定します。
- [重複する]
- [重複する (パーティション外のデータ変更を禁止)]
- [重複しない (単一のサブスクリプション)]
- [重複しない (複数のサブスクリプションで共有)]
これらのオプションの詳細、および [フィルタの追加] および [フィルタの編集] ダイアログ ボックスで使用できるオプションとこれらのオプションを関連付ける方法の詳細については、「パラメータ化された行フィルタ」の「[パーティションのオプション] の設定」を参照してください。
[OK] をクリックします。
[パブリケーションのプロパティ - <Publication>] ダイアログ ボックスが表示されている場合は、[OK] をクリックして保存し、ダイアログ ボックスを閉じます。
[パーティションの事前計算] を設定するには
[パブリケーションのプロパティ - <Publication>] ダイアログ ボックスの [サブスクリプション オプション] ページで、[パーティションの事前計算] オプションに対する値を選択します。このプロパティは、以下の場合に読み取り専用になります。
- パブリケーションが、事前計算済みパーティションの要件を満たさない場合。
- スナップショットが、パブリケーションに対して生成されていない場合。この場合、[スナップショットの作成時に自動的に設定する] の値が表示されます。
[OK] をクリックします。
[同期の最適化] を設定するには
[パブリケーション プロパティ - <Publication>] ダイアログ ボックスの [サブスクリプション オプション] ページで、[同期の最適化] オプションに対して [True] の値を選択します。
[OK] をクリックします。
参照
処理手順
マージ アーティクル間の一連の結合フィルタを自動的に生成する方法 (SQL Server Management Studio)
マージ アーティクルのパラメータ化された行フィルタを定義および変更する方法 (SQL Server Management Studio)
概念
その他の技術情報
パラメータ化された行フィルタを最適化する方法 (レプリケーション Transact-SQL プログラミング)