sys.dm_os_memory_brokers (Transact-SQL)

SQL Server-interne Zuordnungen verwenden den Speicher-Manager von SQL Server. Durch eine Nachverfolgung der Unterschiede zwischen Prozessspeicherindikatoren aus sys.dm_os_process_memory und internen Indikatoren lassen sich Rückschlüsse auf die Menge des von externen Komponenten genutzten Arbeitsspeichers von SQL Server ziehen.

Speicherbroker verteilen Arbeitsspeicherzuordnungen gleichmäßig auf die verschiedene Komponenten in SQL Server auf Basis der aktuellen und der prognostizierten Auslastung. Speicherbroker führen keine Zuordnungen durch. Sie verfolgen Zuordnungen nur zum Berechnen der Verteilung.

Die folgende Tabelle enthält Informationen zu Speicherbrokern.

Spaltenname

Datentyp

Beschreibung

memory_broker_type

nvarchar(60)

Typ des Speicherbrokers. Es gibt derzeit drei Typen von Speicherbrokern in SQL Server.

WertBeschreibung
MEMORYBROKER_FOR_CACHEArbeitsspeicher, der für die Verwendung durch zwischengespeicherte Objekte zugeordnet wird.
MEMORYBROKER_FOR_STEALArbeitsspeicher, der dem Pufferpool entnommen wird. Dieser Speicher ist erst dann zur Wiederverwendung durch andere Komponenten verfügbar, wenn er durch den aktuellen Besitzer freigegeben wird.
MEMORYBROKER_FOR_RESERVEArbeitsspeicher, der für die zukünftige Verwendung durch momentan ausgeführte Anforderungen reserviert ist.

allocations_kb

bigint

Größe des Arbeitsspeichers in Kilobyte (KB), der diesem Typ Broker zugeordnet wurde.

allocations_per_sec

int

Aktuelle Zuordnungsrate, die diesem Broker attributiert wird.

target_allocations_kb

bigint

Empfohlene Größe des zugeordneten Speichers in Kilobyte (KB) auf Basis der aktuellen Einstellungen und des Speicherverwendungsmusters. Dieser Broker sollte auf diesen Wert vergrößert oder verkleinert werden.

future_allocations_kb

bigint

Prognostizierte Anzahl der Zuordnungen in Kilobyte (KB), die in den nächsten Sekunden erfolgen werden.

last_notification

nvarchar(60)

Speicherauslastungsempfehlung auf Basis der aktuellen Einstellungen und des Verwendungsmusters. Gültige Werte sind:

  • grow

  • shrink

  • stable

pool_id

int

ID des Ressourcenpools, wenn er einem Ressourcenkontrollenpool zugeordnet ist.

allocations_kb_per_sec

bigint

Rate der Speicherzuordnungen in Kilobyte (KB) pro Sekunde. Dieser Wert kann für die Aufhebung von Arbeitsspeicherzuordnungen negativ sein.

predicated_allocations_kb

bigint

Vorhergesagte Größe des durch den Broker zugeordneten Arbeitsspeichers. Dieser Wert basiert auf dem Speicherauslastungsmuster.

overall_limit_kb

bigint

Die Höchstmenge an Arbeitsspeicher, die der Broker zuordnen kann, in Kilobyte (KB).

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.