共用方式為


記憶體屬性

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Analysis Services 會在啟動時預先配置適量的記憶體,以便立即處理要求。 額外的記憶體會配置為查詢和處理工作負載增加。 藉由指定組態設定,您可以控制釋放記憶體的臨界值。

注意

QueryMemoryLimit 是唯一適用於 Power BI 的 Memory 屬性。

默認記憶體組態

在預設組態下,即使實例閑置,每個實例在啟動時都會配置少量 RAM(40 MB 到 50 MB)。 組態設定是每個實例。 如果您在相同的硬體上執行多個實例,例如表格式和多維度實例,則每個實例都會獨立配置自己的記憶體與其他實例。

設置 描述
LowMemoryLimit 對於多維度實例,伺服器會先開始釋放配置給不常使用之物件的記憶體的較低臨界值。
VertiPaqMemoryLimit 對於表格式實例,伺服器會先開始釋放配置給不常使用之物件的記憶體的較低臨界值。
TotalMemoryLimit Analysis Services 開始更積極地釋放記憶體,以騰出執行中要求的空間,以及新的高優先順序要求。
HardMemoryLimit 另一個臨界值,Analysis Services 會因為記憶體壓力而立即開始拒絕要求。

性能

介於 1 到 100 之間的值代表 實體記憶體總計虛擬地址空間的百分比,無論哪一個都更少。 超過100的值代表以位元組為單位的記憶體限制。

DefaultPagesCountToReuse

除了Microsoft支持的指導下,您不應該變更的進階屬性。

HandleIA64AlignmentFaults

除了Microsoft支持的指導下,您不應該變更的進階屬性。

HardMemoryLimit

指定記憶體閾值,之後實例會主動終止作用中用戶會話,以減少記憶體使用量。 所有終止的會話都會收到記憶體壓力取消的相關錯誤。 預設值零 (0),表示 HardMemoryLimit 會設定為 totalMemoryLimit 與系統物理記憶體總計 之間的中間值:如果系統的實體記憶體大於進程的虛擬位址空間,則會改用虛擬位址空間來計算 HardMemoryLimit。 此值無法針對 Azure Analysis Services 進行設定。

HeapTypeForObjects

除了Microsoft支持的指導下,您不應該變更的進階屬性。 有效值如下所示:

設置 描述
-1 (預設值)自動。 引擎會決定要使用哪一個引擎。
0 Windows LFH 堆積。
1 Analysis Services 位置配置器。
3 每個物件都有自己的 Analysis Services 堆積。
HighMemoryPrice

除了Microsoft支持的指導下,您不應該變更的進階屬性。

LowMemoryLimit

帶正負號的 64 位雙精確度浮點數屬性,定義 Analysis Services 開始釋放低優先順序物件的記憶體的第一個臨界值,例如不常使用的快取。 配置記憶體之後,伺服器就不會釋放低於此限制的記憶體。 預設值為 65;,表示物理記憶體或虛擬位址空間的低記憶體限制為65%,無論哪一個都少。

MemoryHeapType

除了Microsoft支持的指導下,您不應該變更的進階屬性。 SQL Server 2016 SP1 和更新版本中的有效值 Analysis Services 如下所示:

設置 描述
-1 (預設值)自動。 引擎會決定要使用哪一個引擎。
1 Analysis Services HEAP。
2 Windows LFH。
5 混合式配置器。 此配置器會針對 <= 16 KB 配置使用 Windows LFH,以及 >16 KB 配置的 AS 堆積。
6 Intel TBB 配置器。 可在 SQL Server 2016 SP1(及更新版本)Analysis Services 中使用。
MidMemoryPrice

除了Microsoft支持的指導下,您不應該變更的進階屬性。

MinimumAllocatedMemory

除了Microsoft支持的指導下,您不應該變更的進階屬性。

PreAllocate

除了Microsoft支持的指導下,您不應該變更的進階屬性。

QueryMemoryLimit

僅適用於 Power BI、Azure Analysis Services 和 SQL Server 2019 和更新版本的 Analysis Services。 進階屬性,可控制查詢期間可以使用多少記憶體。

在 SQL Server 2019 和更新版本中的 Analysis Services 中,此設定僅適用於查詢處理期間建立中繼 DAX 查詢結果的記憶體多任務緩衝處理。 它不適用於 MDX 查詢。

在 Power BI、Azure Analysis Services 和 SQL Server 2022 和更新版本中,如果已啟用 ResourceTrackingEnabledFeature 屬性,此設定不僅限於記憶體多任務緩衝處理。 它僅適用於表格式模式中 DAX 和 MDX 查詢使用的所有記憶體。

以百分比指定,最高為100。 超過 100 時,它會以位元組為單位。 設定值為 0 表示未指定任何限制。

針對 Azure Analysis Services,預設值取決於您的計劃。

計劃 違約
D1 80
所有其他 20
SessionMemoryLimit

除了Microsoft支持的指導下,您不應該變更的進階屬性。

TotalMemoryLimit

定義達到的臨界值,導致伺服器取消配置記憶體以騰出空間給其他要求。 達到此限制時,實例會關閉過期的會話並卸載未使用的計算,開始緩慢清除快取中的記憶體。 針對 SQL Server Analysis Services,預設值為物理記憶體或虛擬位址空間的 80%,無論哪一個都更少。 Azure Analysis Services 的預設值是以您的方案為基礎,無法設定。 TotalMemoryLimit 必須永遠小於 HardMemoryLimit

VertiPaqMemoryLimit

只有表格式實例,如果允許分頁到磁碟,這個屬性會指定分頁開始的記憶體耗用量層級(以總記憶體的百分比表示)。 預設值為 60。 如果記憶體耗用量小於 60%,伺服器將不會分頁到磁碟。 此屬性取決於 VertiPaqPagingPolicyProperty,必須設定為 1,才能進行分頁。

VertiPaqPagingPolicy

僅針對表格式實例,指定伺服器記憶體不足時分頁行為。 有效值如下所示:

設置 描述
0 (Azure Analysis Services 和 Power BI 的預設值)停用分頁。 如果記憶體不足,處理會失敗,併發生記憶體不足錯誤。 如果您停用分頁,您必須將 Windows 許可權授與服務帳戶。 如需指示,請參閱 設定服務帳戶 (Analysis Services)
1 (SQL Server Analysis Services 的預設值)這個屬性會使用作業系統頁面檔案 (pagefile.sys) 啟用分頁至磁碟。

當設定為 1 時,因為伺服器會嘗試使用您指定的 方法來分頁到磁碟,所以處理不太可能因為記憶體限制而失敗。 設定 VertiPaqPagingPolicy 屬性並不保證永遠不會發生記憶體錯誤。 記憶體不足錯誤仍可在下列情況下發生:

  • 所有字典的記憶體不足。 在處理期間,伺服器會鎖定記憶體中每一個數據行的字典,而且所有這些數據行在一起不能超過 為 vertiPaqMemoryLimit指定的值。

  • 虛擬位址空間不足,無法容納此程式。

若要解決記憶體不足錯誤,您可以嘗試重新設計模型,以減少需要處理的數據量,也可以將更多物理記憶體新增至計算機。

VirtualMemoryLimit

除了Microsoft支持的指導下,您不應該變更的進階屬性。

WaitCountIfHighMemory

除了Microsoft支持的指導下,您不應該變更的進階屬性。

另請參閱

Analysis Services 中的伺服器屬性
判斷 Analysis Services 實例的伺服器模式