Power BI 語意模型擴增
語意模型擴增可協助 Power BI 提供快速的效能,而報告和儀表板則由大量對象取用。 語意模型擴增會使用 Premium 容量來裝載主要語意模型的一或多個唯讀複本。 藉由增加輸送量,唯讀複本可確保當多個使用者同時提交查詢時,效能不會變慢。
當 Power BI 建立唯讀複本時,其會將它們與主要讀寫語意模型分開。 唯讀複本會提供 Power BI 報告和儀表板查詢,且在執行寫入和重新整理作業時會使用讀寫語意模型。 在寫入和重新整理作業期間,唯讀複本會繼續為您的報告和儀表板查詢提供服務,而不會中斷。 根據預設,唯讀和讀寫語意模型會自動同步,讓唯讀複本保持最新狀態。 不過,您可以停用自動同步,並選擇在命令列中或透過指令碼手動同步。
下表顯示啟用 Power BI 語意模型擴增且停用自動同步時,每個重新整理方法的必要同步:
重新整理方法 | Sync |
---|---|
隨選 UI | 一律同步 |
排定的重新整理 | 一律同步 |
基本 REST API | 需要手動同步 1 |
進階 REST API | 需要手動同步 1 |
XMLA | 需要手動同步 1 |
1 - queryScaleOutSettings
中的 autoSyncReadOnlyReplicas
設定為 false。
複本管理
擴增會建立一個讀寫語意模型複本,並視需要建立多個唯讀複本。 所有寫入作業都會導向至讀寫複本。 這包括明確以讀寫複本為目標之工作階段的查詢,也就是不要在連接字串中使用 ?readonly
。 這些查詢可能會導致讀寫複本上的互動式 CPU 使用量偏高。 在這種情況下,系統不會建立新的複本,因為以讀寫複本為目標的查詢負載無法散發至唯讀複本。
唯讀複本的數目是根據查詢所使用的 CPU 量來決定。 複本數目上限取決於您的 SKU。 如果語意模型的所有使用中唯讀複本目前的 CPU 使用量持續偏高,則會建立新的唯讀複本。 不過,如果新增更多複本,容量上的目前負載可能會高到足以造成節流。 節流可防止其他唯讀複本達到持續偏高的 CPU 使用量。 在這種情況下,系統不會建立新的擴增唯讀複本。
當 CPU 使用量降低且持續保持偏低時,系統會移除複本。
必要條件
根據預設會為您的租用戶啟用擴增,但不會針對租用戶中的語意模型啟用。 若要啟用語意模型的擴增,您必須使用 Power BI REST API。 啟用之前,必須符合下列必要條件:
已啟用租用戶的 [大型語意模型的擴增查詢] 設定 (預設值)。
您的工作區位於 Power BI Premium 的容量上:
- Premium Per User (PPU)
- Power BI Premium P SKU
- Power BI A SKU for Power BI Embedded (也稱為為您的客戶內嵌)。
- 網狀架構 F SKU
若要使用 REST API 管理語意模型,請使用 Power BI 管理 Cmdlet。 以系統管理員模式開啟 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 Tabular Editor 2 2.16.6 Tabular Editor 3 3.2.3 DAX Studio 3.0.0
設定語意模型的擴增
若要了解如何啟用或停用語意模型的擴增,或使用 PowerShell 和 REST API 取得擴增狀態,請參閱設定語意模型擴增。
連線到特定的語意模型類型
啟用擴增時,系統會保留下列連線:
根據預設,Power BI Desktop 會連線到唯讀複本。
即時連線報告會連線到唯讀複本。
XMLA 用戶端應用程式預設會連線到讀寫語意模型。
在 Power BI 服務中重新整理,並使用增強式重新整理 REST API 連線到讀寫語意模型來重新整理。
您可以將下列其中一個字串附加至語意模型的 URL,以連線到唯讀複本或讀寫語意模型:
- 唯讀 -
?readonly
- 讀寫 -
?readwrite
停用租用戶的語意模型擴增
根據預設,系統會針對租用戶啟用 Power BI 語意模型擴增。 Power BI 租用戶系統管理員可以停用此設定。 若要停用租用戶的語意模型擴增,請執行下列動作:
考量與限制
用戶端應用程式可以透過 XMLA 端點連線到唯讀複本,前提是它們支援連接字串中指定的模式。 用戶端應用程式也可以使用 XMLA 端點連線到讀寫執行個體。
手動和排程的重新整理一律會自動與最新版本的唯讀複本同步。 REST API 重新整理會遵循自動同步設定。 如果停用自動同步,您的語意模型必須使用手動同步 REST API 來與唯讀複本同步。
停用自動同步後,XMLA 更新和重新整理必須使用同步 REST API 與唯讀語意模型複本進行同步。
刪除 Power BI 擴增語意模型,並建立具有相同名稱的另一個語意模型時,允許在建立新的語意模型之前五分鐘的傳遞時間。 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 端點還原語意模型。