次の方法で共有


[フィルターの生成] ダイアログ ボックスでは、マージ パブリケーション内の 1 つのテーブルに対して行フィルターを定義できます。これを行うと、レプリケーションによって、外部キー リレーションシップを介して関連付けられる他のテーブルにそのフィルターが自動的に拡張されます。 たとえば、フランスの顧客データのみを含むように、フィルターを顧客テーブルに定義した場合、レプリケーションによってこのフィルターが拡張され、関連する受注テーブルや受注詳細テーブルには、フランスの顧客に関連する情報のみが含まれることになります。

オプション

このダイアログ ボックスには、テーブルに行フィルターを作成するための 3 段階のプロセスがあります。 主キーと外部キーのリレーションシップを通じて、フィルターされたテーブルと関連するテーブルにフィルターが拡張されます。 たとえば、3 つのテーブル、CustomerSalesOrderHeader、および SalesOrderDetail に、CustomerSalesOrderHeader のリレーションシップおよび SalesOrderHeaderSalesOrderDetail のリレーションシップが与えられている場合、Customer に行フィルターを適用すると、レプリケーションによってこのフィルターが SalesOrderHeaderSalesOrderDetail に拡張されます。

  1. [フィルターを適用するテーブルを選択します。]

    ドロップダウン リスト ボックスからテーブルを選択します。 テーブルは、[アーティクル] ページで選択されている場合のみ、このリスト ボックスに表示されます。

  2. [フィルター ステートメントを完成させ、サブスクライバーが受け取るテーブル行を指定します。]

    新しいフィルター ステートメントを定義します。 [列] リスト ボックスには、[フィルターを適用するテーブルを選択します。] で選択したテーブルからパブリッシュするすべての列が一覧表示されます。 [フィルター ステートメント] テキスト領域には、次の形式の既定のテキストが表示されます。

    SELECT <published_columns> FROM [tableowner].[tablename] WHERE

    このテキストは変更できません。標準の Transact-SQL 構文を使用して、WHERE キーワードの後にフィルター句を入力します。

    重要な注意事項重要

    パフォーマンスの理由により、パラメーター化された行フィルター句の列名に、LEFT([MyColumn]) = SUSER_SNAME() などの関数を適用しないことをお勧めします。 フィルター句で HOST_NAME を使用していて、HOST_NAME 値を上書きする場合は、CONVERT を使用するデータ型の変換が必要になる可能性があります。 このようなケースに対する推奨事項の詳細については、「パラメーター化された行フィルター」トピックの「HOST_NAME() 値の上書き」を参照してください。

  3. [このテーブルからデータを取得するサブスクリプションの数を指定します。]

    Microsoft SQL Server 2005 以降のバージョンのみ。 マージ レプリケーションを使用して、お使いのデータとアプリケーションに最適なパーティションの種類を指定できます。 [このテーブルの 1 行を 1 つのサブスクリプションのみに移動する] を選択すると、マージ レプリケーションでは、重複しないパーティションのオプションが設定されます。 重複しないパーティションを事前計算済みパーティションと共に使用することで、パフォーマンスが向上します。事前計算済みパーティションに関連するアップロードの負担が、重複しないパーティションによって最小限に抑えられるためです。 重複しないパーティションのパフォーマンス上の利点は、使用するパラメーター化されたフィルターと結合フィルターが複雑になるほど明確になります。 このオプションを選択する場合は、データのパーティション分割によって、1 つの行が複数のサブスクライバーにレプリケートされないことを確認する必要があります。 詳細については、「パラメーター化された行フィルター」トピックの「[パーティションのオプション] の設定」を参照してください。

フィルターを追加した後で、[OK] をクリックして終了し、ダイアログ ボックスを閉じます。 指定したフィルターは、SELECT 句のテーブルに対して解析され、実行されます。 フィルター ステートメントに構文エラーが含まれるか、他の問題がある場合は、通知されるため、フィルター ステートメントを編集することができます。

ステートメントが解析された後で、レプリケーションによって必要な結合フィルターが作成されます。 このウィザードが実行されているパブリッシャーにディストリビューターを構成していない場合、ディストリビューターを構成するように要求されます。

関連項目

概念

パブリケーションの作成

パブリケーション プロパティの表示および変更

パブリッシュされたデータのフィルター選択

結合フィルター

パラメーター化された行フィルター

データとデータベース オブジェクトのパブリッシュ