Arbeitsspeichereigenschaften

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Analysis Services belegt vorab eine mittlere Menge an Arbeitsspeicher, damit Anforderungen sofort bearbeitet werden können. Zusätzlicher Arbeitsspeicher wird belegt, wenn die Arbeitsauslastung durch Abfragen und Verarbeitung steigt. Sie können die Schwellenwerte steuern, an denen Arbeitsspeicher freigegeben wird, indem Sie Konfigurationseinstellungen angeben.

Hinweis

QueryMemoryLimit ist die einzige Memory-Eigenschaft, die für Power BI gilt.

Standard-Arbeitsspeicherkonfiguration

Unter der Standardkonfiguration weist jeder instance beim Start eine kleine Ram-Menge (40 MB bis 50 MB) zu, auch wenn sich die instance im Leerlauf befindet. Die Konfigurationseinstellungen sind pro instance. Wenn Sie mehrere Instanzen ausführen, z. B. eine tabellarische und mehrdimensionale instance auf derselben Hardware, belegt jede instance unabhängig von anderen Instanzen ihren eigenen Arbeitsspeicher.

Einstellung Beschreibung
LowMemoryLimit Ein unterer Schwellenwert für mehrdimensionale Instanzen, ab dem der Server zunächst damit beginnt, Arbeitsspeicher freizugeben, der von selten verwendeten Objekten belegt wird.
VertiPaqMemoryLimit Ein unterer Schwellenwert für tabellarische Instanzen, ab dem der Server zunächst damit beginnt, Arbeitsspeicher freizugeben, der von selten verwendeten Objekten belegt wird.
TotalMemoryLimit Eine obere Schwelle, ab der Analysis Services beginnt, Arbeitsspeicher aggressiver freizugeben, um Platz für anforderungen zu schaffen, die ausgeführt werden, sowie für neue Anforderungen mit hoher Priorität.
HardMemoryLimit Ein weiterer Schwellenwert, ab dem Analysis Services damit beginnt, Anfragen aufgrund zu hoher Arbeitsspeicherauslastung vollständig abzulehnen.

Eigenschaften

Werte zwischen 1 und 100 stellen Prozentsätze von Gesamter physischer Speicher bzw. Virtueller Adressraumdar, je nachdem, welcher geringer ist. Werte über 100 stellen Arbeitsspeichergrenzwerte in Bytes dar.

DefaultPagesCountToReuse

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

HandleIA64AlignmentFaults

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

HardMemoryLimit

Gibt einen Arbeitsspeicherschwellenwert an, ab dem die Instanz aktive Benutzersitzungen aggressiv beendet, um die Speicherauslastung zu reduzieren. Alle beendeten Sitzungen erhalten eine Fehlermeldung, dass sie durch Arbeitsspeicherauslastung abgebrochen werden. Der Standardwert 0 bedeutet, dass HardMemoryLimit auf einen mittleren Wert zwischen TotalMemoryLimit und dem gesamten physischen Speicher des Systems festgelegt wird. Wenn der physische Speicher größer als der virtuelle Adressraum des Prozesses ist, dann wird anstelle der Berechnung von HardMemoryLimitder virtuelle Adressraum verwendet. Dieser Wert ist für Azure Analysis Services nicht konfigurierbar.

HeapTypeForObjects

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte. Gültige Werte sind:

Einstellung BESCHREIBUNG
-1 (Standard) Automatisch. Die Engine entscheidet, welcher Typ verwendet wird.
0 Windows-LFH-Heap.
1 Analysis Services-Slotzuweisung.
3 Jedes Objekt verfügt über einen eigenen Analysis Services-Heap.
HighMemoryPrice

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

LowMemoryLimit

Eine 64-Bit-Gleitkommazahleigenschaft mit doppelter Genauigkeit, die den ersten Schwellenwert definiert, ab dem Analysis Services mit der Freigabe von Arbeitsspeicher für Objekte mit niedriger Priorität beginnt, z. B. einen selten verwendeten Cache. Sobald der Speicher belegt wird, gibt der Server keinen Arbeitsspeicher unter diesem Grenzwert frei. Der Standardwert ist 65. Dieser Wert besagt, dass der Grenzwert für ungenügenden Arbeitsspeicher 65 % des physischen Speichers bzw. virtuellen Adressraums entspricht, je nachdem, welcher dieser Werte niedriger ist.

MemoryHeapType

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte. Gültige Werte in Analysis Services in SQL Server 2016 SP1 und höher sind wie folgt:

Einstellung BESCHREIBUNG
-1 (Standard) Automatisch. Die Engine entscheidet, welcher Typ verwendet wird.
1 Analysis Services HEAP.
2 Windows LFH.
5 Hybridzuweisung. Diese Zuweisung verwendet Windows LFH für <= 16 KB-Zuordnungen und den AS-Heap für >16-KB-Zuordnungen.
6 Intel TBB-Zuweisung. Verfügbar in SQL Server 2016 SP1 (und höher) Analysis Services.
MidMemoryPrice

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

MinimumAllocatedMemory

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

PreAllocate

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

QueryMemoryLimit

Gilt nur für Power BI, Azure Analysis Services und SQL Server 2019 und höher Analysis Services. Eine erweiterte Eigenschaft, um zu steuern, wie viel Arbeitsspeicher während einer Abfrage verwendet werden kann.

In SQL Server 2019 und höher von Analysis Services gilt diese Einstellung nur für Speicherspools, in denen während der Abfrageverarbeitung Zwischenergebnisse von DAX-Abfragen erstellt werden. Sie gilt nicht für MDX-Abfragen.

Wenn in Power BI, Azure Analysis Services und SQL Server Analysis Services 2022 und höher die Eigenschaft ResourceTrackingEnabled-Feature aktiviert ist, ist diese Einstellung nicht nur auf Speicherpools beschränkt. Sie gilt nur für den gesamten Arbeitsspeicher, der von DAX- und MDX-Abfragen im tabellarischen Modus genutzt wird.

In Prozent bis zu 100 angegeben. Wenn mehr als 100 sind, ist dies in Bytes. Wenn Sie den Wert 0 festlegen, wird kein Grenzwert angegeben.

Für Azure Analysis Services wird der Standardwert von Ihrem Plan bestimmt.

Plan Standard
D1 80
Alle anderen 20
SessionMemoryLimit

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

TotalMemoryLimit

Definiert einen Schwellenwert, der bei Erreichen dazu führt, dass der Server die Speicherzuweisung aufhebt, um Platz für andere Anforderungen zu schaffen. Wenn dieser Grenzwert erreicht wird, beginnt die Instanz langsam, Arbeitsspeicher in Caches zu bereinigen, indem abgelaufene Sitzungen geschlossen und nicht verwendete Berechnungen entladen werden. Für SQL Server Analysis Services beträgt der Standardwert 80 % des physischen Arbeitsspeichers oder des virtuellen Adressraums, je nachdem, welcher Wert kleiner ist. Der Standardwert für Azure Analysis Services basiert auf Ihrem Plan und ist nicht konfigurierbar. TotalMemoryLimit muss immer kleiner als HardMemoryLimit sein.

VertiPaqMemoryLimit

Nur für tabellarische Instanzen – Wenn die Auslagerung auf den Datenträger zulässig ist, gibt diese Eigenschaft die Arbeitsspeichernutzung (als Prozentsatz des gesamten Arbeitsspeichers) an, ab der die Auslagerung beginnt. Der Standardwert ist 60. Wenn die Arbeitsspeichernutzung weniger als 60 Prozent beträgt, führt der Server keine Auslagerung auf Datenträger aus. Diese Eigenschaft hängt von VertiPaqPagingPolicyPropertyab, die auf 1 festgelegt werden muss, damit Auslagerungen stattfinden.

VertiPaqPagingPolicy

Gibt nur für tabellarische Instanzen das Auslagerungsverhalten an, das bei wenig verfügbarem Arbeitsspeicher des Servers angewendet wird. Gültige Werte sind:

Einstellung BESCHREIBUNG
0 (Standardeinstellung für Azure Analysis Services und Power BI) Deaktiviert das Paging. Wenn der Arbeitsspeicher nicht ausreicht, schlägt die Verarbeitung mit dem Fehler "Nicht genügend Arbeitsspeicher" fehl. Wenn Sie die Auslagerung deaktivieren, müssen Sie für das Dienstkonto Windows-Berechtigungen erteilen. Anweisungen finden Sie unter Konfigurieren von Dienstkonten (Analysis Services).
1 (Standard für SQL Server Analysis Services) Diese Eigenschaft ermöglicht das Paging auf dem Datenträger mithilfe der Betriebssystemseitendatei (pagefile.sys).

Wenn sie auf 1 festgelegt ist, ist es weniger wahrscheinlich, dass bei der Verarbeitung aufgrund von Arbeitsspeicherbeschränkungen ein Fehler auftritt, da der Server versucht, Daten anhand der von Ihnen angegebenen Methode auf den Datenträger auszulagern. Das Festlegen der VertiPaqPagingPolicy -Eigenschaft ist keine Garantie dafür, dass niemals Arbeitsspeicherfehler auftreten. Unter folgenden Bedingungen können weiterhin Fehler aufgrund von unzureichendem Arbeitsspeicher auftreten:

  • Es ist nicht genügend Arbeitsspeicher für alle Wörterbücher verfügbar. Während der Verarbeitung sperrt der Server die Wörterbücher für jede Spalte im Arbeitsspeicher, und alle können zusammen nicht mehr als der für VertiPaqMemoryLimit angegebene Wert sein.

  • Der virtuelle Adressraum reicht nicht aus, um den Prozess aufzunehmen.

Um wiederholte Fehler aufgrund von unzureichendem Arbeitsspeicher zu vermeiden, können Sie das Modell umgestalten, um die verarbeitete Datenmenge zu reduzieren, oder den physischen Arbeitsspeicher des Computers erweitern.

VirtualMemoryLimit

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

WaitCountIfHighMemory

Eine erweiterte Eigenschaft, die nur unter Anleitung des Microsoft-Supports geändert werden sollte.

Weitere Informationen

Servereigenschaften in Analysis Services
Bestimmen des Servermodus einer Analysis Services-Instanz