Power BI 語意模型向外延展

語意模型向外延展可協助Power BI提供快速的效能,而報表和儀錶板則由大量物件取用。 語意模型向外延展會使用您的 進階版 容量來裝載主要語意模型的一或多個只讀本。 藉由增加輸送量,只讀複本可確保當多個用戶同時提交查詢時,效能不會變慢。

當 Power BI 建立唯讀複本時,它會將它們與主要讀寫語意模型分開。 只讀複本會提供Power BI報表和儀錶板查詢,而且在執行寫入和重新整理作業時會使用讀寫語意模型。 在寫入和重新整理作業期間,只讀複本會繼續為您的報表和儀錶板查詢提供服務,而不會中斷。 根據預設,只讀和讀寫語意模型會自動同步處理,讓只讀複本保持最新狀態。 不過,您可以停用自動同步處理,並選擇在命令行或腳本手動同步處理。

下表顯示啟用 Power BI 語意模型向外延展時,每個重新整理方法的必要同步處理,並停用自動同步處理:

Refresh 方法 Sync
OnDemand UI 一律同步處理
排程的重新整理 一律同步處理
基本 REST API 需要手動同步 處理 1
進階 REST API 需要手動同步 處理 1
XMLA 需要手動同步 處理 1

1 - 在 autoSyncReadOnlyReplicasqueryScaleOutSettings 中設定為 false。

複本管理

向外延展會建立一個讀寫語意模型複本,並視需要建立多個唯讀複本。 所有寫入作業都會導向至讀寫複本。 這包括明確以讀寫複本為目標的會話查詢,也就是不要在 連接字串 中使用?readonly。 這些查詢可能會導致讀寫複本上的互動式 CPU 使用量偏高。 在這種情況下,不會建立新的複本,因為以讀寫複本為目標的查詢負載無法散發至只讀複本。

唯讀複本的數目是根據查詢所使用的CPU數量來決定。 複本數目上限取決於您 的 SKU。 如果語意模型的所有使用中只讀複本目前的 CPU 使用量很高,且保持高,則會建立新的只讀複本。 不過,如果新增更多複本,容量上的目前負載可能會高達足以造成 節流 。 節流可防止其他只讀複本達到持續高 CPU 使用量。 在這種情況下,不會建立新的向外延展只讀複本。

當 CPU 使用量降低且持續保持低位時,會移除複本。

必要條件

根據預設,會為您的租用戶啟用向外延展,但不會針對租使用者中的語意模型啟用。 若要啟用語意模型的向外延展,您必須使用 Power BI REST API。 啟用之前,必須符合下列必要條件:

  • 已啟用租使用者大型語意模型設定的向外延展查詢(預設值)。

  • 您的工作區位於 Power BI 進階版 容量上:

    • 每個使用者 進階版 (PPU)
    • Power BI 進階版 P SKU
    • Power BI A SKU for Power BI Embedded (也稱為 為客戶內嵌)。
    • 網狀架構 F SKU
  • 已啟用 大型語意模型儲存格式 設定。

  • 若要使用 REST API 管理語意模型,請使用 Power BI 管理 Cmdlet。 在 管理員 istrator 模式中開啟 PowerShell,然後執行 命令來安裝:

    Install-Module -Name MicrosoftPowerBIMgmt
    
  • 下列 (或更新版本) 應用程式、連結庫和服務版本支援連線到唯讀複本:

    應用程式、連結庫或服務 版本
    Microsoft Analysis Services OLE DB Provider for Microsoft SQL Server (MSOLAP) 16.0.20.201 (2022 年 3 月)
    Microsoft.AnalysisServices.AdomdClient (ADOMD.NET) 19.36.0 (2022 年 3 月)
    Power BI Desktop 2022 年 6 月
    SQL Server Management Studio (SSMS) 19.0
    表格式編輯器 2 2.16.6
    表格式編輯器 3 3.2.3
    DAX Studio 3.0.0

設定語意模型的向外延展

若要瞭解如何啟用或停用語意模型的相應放大,或使用PowerShell和REST API取得向外延展狀態,請參閱 設定語意模型向外延展。

特定語意模型類型的 連線

啟用向外延展時,會保留下列連線:

您可以將下列其中一個字串附加至語意模型的網址,以連接到唯讀複本或讀寫語意模型:

  • 唯讀 - ?readonly
  • 讀寫 - ?readwrite

停用租用戶的語意模型向外延展

根據預設,租用戶會啟用Power BI語意模型向外延展。 Power BI 租用戶系統管理員可以停用此設定。 若要停用租用戶的語意模型向外延展,請執行下列動作:

  1. 移至您的 租用戶設定

  2. 在 [向外延展設定] 中,展開大型語意模型的向外延展查詢。

  3. 將參數切換為 [已停用]。

  4. 選取套用

    A screenshot showing how to disable the scale out tenant settings in the Power BI admin portal.

考量與限制

  • 用戶端應用程式可以透過 XMLA 端點連線到唯讀複本,前提是它們支援 連接字串 中指定的模式。 用戶端應用程式也可以使用 XMLA 端點連線到讀寫實例。

  • 手動和排程的重新整理一律會自動與最新版本的只讀複本同步處理。 REST API 重新整理會遵守自動同步設定。 如果停用自動同步處理,您的語意模型必須使用手動同步 REST API 來同步處理只讀複本。

  • 停用自動同步處理后,XMLA 更新和重新整理必須使用同步 REST API 與只讀語意模型複本進行同步處理。

  • 刪除Power BI 向外延展語意模型,並建立具有相同名稱的另一個語意模型時,允許在建立新的語意模型之前傳遞五分鐘。 可能需要一些時間才能移除主要語意模型的複本。

  • 啟用Power BI語意模型向外延展時, autoSyncReadOnlyReplicas=false不支援對下列功能的變更:

    • 新增或刪除角色
    • 更新任何角色的角色成員資格集
    • 修改數據源
    • 刪除 DirectQuery 或雙重數據表所使用的數據源
    • 物件層級安全性 (OLS) 或動態資料列層級安全性 (RLS) 表達式的變更

    若要變更這些功能,請停用向外延展,並允許在重新啟用之前進行幾分鐘的變更。

  • 使用 動態管理檢視 (DMV) TMSCHEMA_ROLE_MEMBERSHIPS數據列集探索角色成員資格,在針對只讀複本執行時不會傳回任何結果。

  • 使用即時連線的報表一律會連線到唯讀複本,即使 連接字串 使用 ?readwrite也一樣。 不過,在 Power BI Desktop 中,使用 ?readwrite 連線到讀寫複本的即時連線報表。

  • DBSCHEMA_CATALOGS和DISCOVER_XML_METADATA動態管理檢視 (DMV) 數據列集,會在 連接字串 中使用 ?readonly 時傳回讀寫複本資訊。

  • SQL Server Profiler 不適用於 ?readonly 連接字串。

  • 這些作業會觸發自動同步處理,即使自動同步關閉 (AutoSync=Off)。

    • 將工作區從一個容量移轉至另一個容量。
    • 切換 (或輪替) 用於攜帶您自己的加密金鑰 (BYOK) 的金鑰版本。
    • 將語意模型的工作區從不使用 BYOK 的容量移至使用 BYOK 的容量。
    • 將語意模型的工作區從使用 BYOK 的容量移至不使用 BYOK 的容量。
    • 使用公用 XMLA 端點還原語意模型。
  • 停用 大型語意模型儲存格式 會停用向外延展,並遺失所有同步資訊。