次の方法で共有


[テーブル行のフィルター選択] ページでは、次のことを行うことができます。

  • 静的行フィルターをスナップショット パブリケーション、トランザクション パブリケーション、およびマージ パブリケーションのテーブル アーティクルに適用します。

  • パラメーター化された行フィルターをマージ パブリケーションのテーブル アーティクルに適用します。

  • 結合フィルターを使用して、マージ テーブル アーティクルのフィルターを関連テーブル アーティクルに拡張します。

フィルター オプションの詳細については、「パブリッシュされたデータのフィルター選択」を参照してください。 フィルター選択は、[パブリケーションのプロパティ] ダイアログ ボックスの [行のフィルター選択] ページで変更することができます。

アプリケーションのパフォーマンスを最大限にし、なおかつリモート コンピューターで必要とされる記憶容量を少なくする場合、または特定のデータの使用を特定のサブスクライバーに制限する場合には、必要なデータだけをパブリッシュします。 パブリケーションには、フィルター済み、フィルターなしの双方のテーブルを含めることができます。 たとえば、会社製品のすべてを収めたテーブル (フィルターなし) を含める一方で、行フィルターを使用して、特定の地域についてフィルター済みの顧客のテーブルを提供できます。 パブリッシュされたデータをフィルター選択することによって、次のことができるようになります。

  • ネットワークに送信されるデータの量を最小限に抑えられます。

  • サブスクライバーで必要となる保存領域を削減できます。

  • 各サブスクライバーの要件に基づいてパブリケーションとアプリケーションをカスタマイズできます。

  • サブスクライバーがデータを更新する場合に、異なるデータ パーティションを異なるサブスクライバーに送信できるので (2 つのサブスクライバーが同一のデータ値を更新することはない)、競合をなくす、または減らすことができます。

  • 機密データの送信を回避できます。 行フィルターと列フィルターを使用して、サブスクライバーによるデータへのアクセスを制限できます。 マージ レプリケーションにおいて HOST_NAME() を含むパラメーター化されたフィルターを使用する場合は、セキュリティ上の留意事項があります。 詳細については、「パラメーター化された行フィルター」の「HOST_NAME() によるフィルター選択」を参照してください。

フィルターには、レプリケーションで行の識別に使用される rowguidcol を含めることはできません。 既定では、これはマージ レプリケーションのセットアップ時に追加される列であり、rowguid という名前が付けられます。

オプション

  • [フィルター選択されたテーブル]
    このペインには、パブリケーションのテーブル アーティクルに追加したフィルターが表示されます。 行フィルターが設定されているテーブルは、ペイン内で最上位レベルのノードとして表示されます。 マージ パブリケーションの場合、結合フィルターを介してフィルター選択が拡張されているテーブルは、子ノードとして表示されます。

  • [追加]
    [追加] をクリックすると、テーブル アーティクルをフィルター選択するためのダイアログ ボックスが表示されます。 スナップショット パブリケーションまたはトランザクション パブリケーションに対して [追加] をクリックすると、ダイアログ ボックスが即座に表示されます。 マージ パブリケーションに対して [追加] をクリックすると、[フィルターの追加][選択したフィルターを拡張するために結合を追加する][フィルターを自動的に生成] の 3 つのオプションが表示されます。

    • [フィルターの追加] をクリックすると、[フィルターの追加] ダイアログ ボックスが表示されます。 このダイアログ ボックスでは、行フィルターをテーブル アーティクルに適用できます。 たとえば、[フィルターの追加] ダイアログ ボックスを使用して、顧客データ テーブルをサブスクライバーにレプリケートするときにフランスの顧客に関するデータだけを格納するように指定できます。

    • [選択したフィルターを拡張するために結合を追加する] をクリックすると、[結合の追加] ダイアログ ボックスが表示されます。 [結合の追加] ダイアログ ボックスでは、行フィルターを拡張して、行フィルターが設定されているテーブルに関連付けられているテーブル内のデータをフィルター選択するように設定できます。 たとえば、フランスの顧客に関するデータだけを含むように顧客テーブルにフィルターが設定され、顧客注文のための関連テーブルがある場合は、2 つのテーブル間に結合を定義して、フランスの顧客からの注文だけが注文テーブルに含まれるように設定できます。

      注意

      このオプションは、フィルター ペイン内で結合のベース テーブルを最初に選択している場合だけ利用できます。

    • [フィルターを自動的に生成] をクリックすると、[フィルターの生成] ダイアログ ボックスが表示されます。 このダイアログ ボックスでは、マージ パブリケーション内の 1 つのテーブルに対して行フィルターを定義できます。この行フィルターは、レプリケーションによって、外部キー リレーションシップを介して関連付けられる他のテーブルに自動的に拡張されます。 たとえば、パブリケーションに、顧客テーブル、(顧客テーブルへの外部キーを含む) 注文テーブル、および (注文テーブルへの外部キーを含む) 受注明細テーブルの 3 つのテーブルを含めることができます。 顧客テーブルに行フィルターを定義すると、レプリケーションによってそれが他のテーブルに拡張されます。

      注意

      レプリケーションによってフィルターを自動的に生成した場合、パブリケーションの既存のフィルターは削除されます。 自動生成したフィルターと手動で指定したフィルターの両方を含めるには、フィルターの生成を最初に行います。 自動生成したフィルターは、1 つのパブリケーションにつき 1 セットしか指定できません。

  • [編集]
    フィルター ペインで行フィルターまたは結合フィルターを選択し、[編集] をクリックすると、[フィルターの編集] ダイアログ ボックスまたは [結合の編集] ダイアログ ボックスが表示されます。

  • [削除]
    フィルター ペインで行フィルターまたは結合フィルターを選択し、[削除] をクリックすると、フィルターを削除できます。

  • [テーブルの検索]
    結合フィルターを持つマージ パブリケーションのみです。 [テーブルの検索] をクリックすると、複雑なフィルター ツリー内でテーブルを検索できます。 複雑なリレーションシップを持つデータベースでは、1 つのテーブルを複数のテーブルに結合できます。その場合、テーブルはフィルター ツリー内で複数の場所に表示されます。

    実際のテーブルはツリー内の 1 つの場所に表示されます。他の場所では、テーブルがショートカットによって表されます。 テーブルのショートカットはテーブルの単なる参照であり、テーブルの子ノードを示すものではありません。 ショートカット ノードはショートカット矢印付きで示されます。このノードを展開すると、[<tablename> のテーブルを表示するには、[テーブルの検索] をクリックします。] というテキストが表示されます。

    ペインでショートカット ノードをクリックし、[テーブルの検索] をクリックします。 ペインが拡張され、テーブルが反転表示されます。 ショートカット ノードを選択せずに [テーブルの検索] をクリックすると、[テーブルの検索] ダイアログ ボックスが表示されます。

  • [フィルター]
    フィルター ペインで選択されたフィルターの Transact-SQL 定義を含みます。

関連項目

概念

パブリケーションの作成

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

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

結合フィルター

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

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