Arbeitsspeichereigenschaften

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

Analysis Services weist beim Start eine bescheidene Speichermenge zu, sodass Anforderungen sofort verarbeitet 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. Die HardMemoryLimit -Einstellung gibt z.B. eine selbstauferlegte Speicherobergrenze an (dieser Schwellenwert ist standardmäßig nicht aktiviert), wobei neue Anfragen vollständig abgelehnt werden, bis mehr Ressourcen verfügbar sind. Die folgenden Einstellungen gelten sowohl für tabellarische als auch für mehrdimensionale Server, sofern nicht anders angegeben.

Standard-Arbeitsspeicherkonfiguration

Unter der Standardkonfiguration weist jede Instanz beim Start eine kleine Menge RAM (40 MB bis 50 MB) zu, auch wenn die Instanz leer ist. Konfigurationseinstellungen sind pro Instanz. Wenn Sie mehrere Instanzen ausführen, z. B. eine tabellarische und mehrdimensionale Instanz auf derselben Hardware, wird jede Instanz unabhängig von anderen Instanzen einen eigenen Arbeitsspeicher zuweisen.

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 Ein oberer Schwellenwert, an dem Analysis Services beginnt, Arbeitsspeicher aggressiver freizugeben, um Platz für Anforderungen zu schaffen, die ausgeführt werden, sowie neue Anforderungen mit hoher Priorität.
HardMemoryLimit Ein weiterer Schwellenwert, ab dem Analysis Services damit beginnt, Anfragen aufgrund zu hoher Arbeitsspeicherauslastung vollständig abzulehnen.

Eigenschaftsverweis

Die folgenden Eigenschaften gelten sowohl für tabellarische als auch für mehrdimensionale Modi, sofern nicht anders angegeben.

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.

LowMemoryLimit

Eine signierte 64-Bit-Gleitkommazahleigenschaft mit doppelter Genauigkeit, die den ersten Schwellenwert definiert, an dem Analysis Services beginnt, Speicher für Objekte mit niedriger Priorität freizugeben, 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.

TotalMemoryLimit

Definiert einen Schwellenwert, ab dem der Server Arbeitsspeicher freigibt, um Platz für andere Anfragen 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. Bei 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 kann nicht konfiguriert werden. TotalMemoryLimit muss immer kleiner sein als HardMemoryLimit.

HardMemoryLimit

Gibt einen Arbeitsspeicherschwellenwert an, ab dem die Instanz aktive Benutzersitzungen aggressiv beendet, um die Speicherauslastung zu reduzieren. Alle beendeten Sitzungen erhalten einen Fehler darüber, dass der Arbeitsspeicherdruck abgebrochen wird. 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 kann nicht für Azure Analysis Services konfiguriert werden.

QueryMemoryLimit

Gilt nur für 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 Analysis Services gilt diese Einstellung nur für Speicherspools, in denen zwischene DAX-Abfrageergebnisse während der Abfrageverarbeitung erstellt werden. Es gilt nicht für MDX-Abfragen.

In Azure Analysis Services und SQL Server 2022 und höher Analysis Services ist diese Einstellung nicht nur auf Speicherpools beschränkt, wenn die Eigenschaft "ResourceTrackingEnabledFeature" aktiviert ist. Er gilt für alle Speicher, die sowohl von DAX- als auch MDX-Abfragen verwendet werden.

In Prozent bis zu 100 angegeben. Wenn mehr als 100, ist es in Bytes. Das Festlegen eines Werts von 0 bedeutet, dass kein Grenzwert angegeben wird. Für Azure Analysis Services wird der Standardwert durch Ihren Plan bestimmt.

Plan Standard
D1 80
Alle anderen Pläne 20
VirtualMemoryLimit

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

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) Deaktiviert die Seitenverwaltung. 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 diese können 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.

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.

HighMemoryPrice

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

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. Dieser Allocator 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.
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.
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.

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.

SessionMemoryLimit

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