共用方式為


篩選資料表的資料列

[篩選資料表的資料列] 頁面可以讓您:

  • 將靜態資料列篩選套用至快照集式、交易式和合併式發行集的資料表發行項。

  • 將參數化資料列篩選器套用至合併式發行集的資料表發行項。

  • 使用聯結篩選,將合併資料表發行項的篩選擴充到相關的資料表發行項。

如需有關篩選選項的詳細資訊,請參閱<篩選發行的資料>。篩選設定可以在 [發行集屬性] 對話方塊的 [篩選資料列] 頁面中變更。

若要使應用程式效能最佳化,並減少需要的遠端儲存體數量,或限制特定訂閱者對特定資料的存取,您就應該只發行需要的資料。發行集可同時包括未篩選和已篩選的資料表。例如,您可以包括公司產品的完整 (未篩選) 資料表,並使用資料列篩選來提供已篩選過、僅包含特定區域之客戶的資料表。藉由篩選發行的資料,您可以:

  • 將透過網路傳送的資料總量縮減到最少。

  • 降低訂閱者端所需的儲存空間量。

  • 依照個別的訂閱者需求,自訂發行集和應用程式。

  • 可以避免或減少訂閱者更新資料時的衝突,因為不同資料分割可以傳送給不同的訂閱者 (不會有兩個訂閱者同時更新相同的資料值)。

  • 避免傳送機密資料。資料列篩選與資料行篩選可用於限制訂閱者對資料的存取。對於合併式複寫,如果使用含有 HOST_NAME() 的參數化篩選,則有安全性考量。如需詳細資訊,請參閱<參數化資料列篩選器>中的<使用 HOST_NAME() 進行篩選>一節。

篩選中不可包含複寫用來識別資料列的 rowguidcol。根據預設,這是在您設定合併式複寫並且命名為 rowguid 時加入的資料行。

選項

  • 已篩選的資料表
    當您在發行集的資料表發行項中加入篩選時,這些篩選就會擴展到窗格中。含有資料列篩選的資料表,會顯示為窗格中的最上層節點。若為合併式發行集,則透過聯結篩選而擴充篩選的資料表,就會顯示為子節點。

  • 加入
    按一下 [加入] 即可啟動一個可讓您篩選資料表發行項的對話方塊。在快照集或交易式發行集按一下 [加入] 會立即啟動對話方塊。按一下合併式發行集的 [加入] 會顯示三個選項:[加入篩選][加入聯結以擴充選取的篩選][自動產生篩選]

    • 選取 [加入篩選] 即可啟動 [加入篩選] 對話方塊。這個對話方塊可以讓您套用資料列篩選至資料表發行項。例如,在 [加入篩選] 對話方塊中,您可以指定含有客戶資料的資料表在複寫到訂閱者時,只能包含法國客戶的資料。

    • 選取 [加入聯結以擴充選取的篩選] 即可啟動 [加入聯結] 對話方塊。[加入聯結] 對話方塊可以讓您擴充資料列篩選,使它篩選與具有資料列篩選的資料表相關之資料表中的資料。例如,如果客戶資料表經過篩選後只包含法國客戶的資料,而它有一個包含客戶訂單的相關資料表,那麼您就可以在兩個資料表之間定義聯結,使訂單資料表只包括法國客戶的訂單。

      [!附註]

      唯有當您先在篩選窗格中選取聯結的基底資料表,才能使用此選項。

    • 選取 [自動產生篩選] 來啟動 [產生篩選] 對話方塊。這個對話方塊可讓您在合併式發行集的一個資料表上定義資料列篩選,複寫時會自動將此篩選擴充到因外部索引鍵關聯性而相關的其他資料表。例如,發行集可包括 3 個資料表:客戶資料表、訂單資料表 (含有客戶資料表的外部索引鍵) 和訂單明細資料表 (含有訂單資料表的外部索引鍵)。在客戶資料表上定義資料列篩選,複寫時會將它擴充到其他資料表。

      [!附註]

      當複寫自動產生篩選時,發行集上任何現有的篩選都會被刪除。若要同時包括自動產生的篩選和手動指定的篩選,請先產生篩選。您只能對每個發行集指定一個自動產生的篩選集。

  • 編輯
    在篩選窗格中選取資料列篩選或聯結篩選,再按一下 [編輯],即可啟動 [編輯篩選][編輯聯結] 對話方塊。

  • 刪除
    在篩選窗格中選取資料列篩選或聯結篩選,再按一下 [刪除] 即可刪除篩選。

  • 尋找資料表
    僅適用於具有聯結篩選的合併式發行集。按一下 [尋找資料表],即可在複雜篩選樹中尋找資料表。在含有複雜關聯性的資料庫中,因為資料表可以聯結到多個資料表,所以資料表可能重複出現在篩選樹的多個位置。

    實際資料表只出現在篩選樹的一個位置,而在其他位置,資料表是以捷徑方式顯示。資料表的捷徑只是資料表的參考,它不會顯示資料表的子節點。捷徑節點會以捷徑箭頭標示,若展開該節點會顯示這段文字:[按一下 [尋找資料表],以檢視 <tablename> 的資料表]

    在窗格中選取捷徑節點,然後按一下 [尋找資料表]。窗格會展開,且反白資料表。如果您按一下 [尋找資料表] 但未選取捷徑節點,則會啟動 [尋找資料表] 對話方塊。

  • 篩選
    包含在篩選窗格中選取之篩選的 Transact-SQL 定義。