sys.dm_os_memory_clerks (Transact-SQL)

Gibt die Gruppe aller derzeit in der SQL Server-Instanz aktiven Arbeitsspeicherclerks zurück.

Spaltenname

Datentyp

Beschreibung

memory_clerk_address

varbinary(8)

Eindeutige Speicheradresse des Arbeitsspeicherclerks. Dies ist die Primärschlüsselspalte. NULL ist nicht zulässig.

type

nvarchar(60)

Typ des Arbeitsspeicherclerks. Jeder Clerk entspricht einem bestimmten Typ, wie z. B. dem CLR-Clerk MEMORYCLERK_SQLCLR. NULL ist nicht zulässig.

name

nvarchar(256)

Intern zugewiesener Name des Arbeitsspeicherclerks. Jede Komponente kann über mehrere Arbeitsspeicherclerks eines bestimmten Typs verfügen. Eine Komponente hat die Möglichkeit, bestimmte Namen zum Identifizieren von Arbeitsspeicherclerks desselben Typs zu verwenden. NULL ist nicht zulässig.

memory_node_id

smallint

ID des Speicherknotens. NULL ist nicht zulässig.

single_pages_kb

bigint

Umfang des zugeordneten Arbeitsspeichers für Einzelseiten in Kilobytes (KB). Dies entspricht dem Umfang des Arbeitsspeichers, der mithilfe der Einzelseitenzuordnung eines Speicherknotens zugeordnet wurde. Bei der Einzelseitenzuordnung werden Seiten direkt aus dem Pufferpool entnommen. NULL ist nicht zulässig.

multi_pages_kb

bigint

Umfang des zugeordneten Arbeitsspeichers für mehrere Seiten in KB. Dies entspricht dem Umfang des Arbeitsspeichers, der mithilfe der Mehrfachseitenzuordnung der Speicherknoten zugeordnet wurde. Dieser Arbeitsspeicher wird außerhalb des Pufferpools zugeordnet und nutzt die virtuelle Zuordnung der Speicherknoten. NULL ist nicht zulässig.

virtual_memory_reserved_kb

bigint

Umfang des von einem Arbeitsspeicherclerk reservierten virtuellen Arbeitsspeichers. Dies entspricht dem Umfang des Arbeitsspeichers, der direkt von der Komponente, die diesen Clerk verwendet, reserviert wird. In den meisten Fällen reserviert nur der Pufferpool virtuellen Adressraum direkt mithilfe des Arbeitsspeicherclerks. NULL ist nicht zulässig.

virtual_memory_committed_kb

bigint

Umfang des virtuellen Arbeitsspeichers, für den ein Arbeitsspeicherclerk ein Commit ausgeführt hat. Dies entspricht dem Umfang des Arbeitsspeichers, für den der Clerk ein Commit ausgeführt hat. Der Umfang des Arbeitsspeichers, für den ein Commit ausgeführt wurde, sollte immer geringer als der Umfang des reservierten Arbeitsspeichers sein. NULL ist nicht zulässig.

awe_allocated_kb

bigint

Umfang des vom Arbeitsspeicherclerk mithilfe von AWE (Address Windowing Extensions) zugeordneten Arbeitsspeichers. In SQL Server verwenden nur Pufferpoolclerks (MEMORYCLERK_SQLBUFFERPOOL) diesen Mechanismus, und auch nur dann, wenn AWE aktiviert ist. NULL ist nicht zulässig.

shared_memory_reserved_kb

bigint

Umfang des von einem Arbeitsspeicherclerk reservierten freigegebenen Speicherbereichs. Der Umfang des Arbeitsspeichers, der als freigegebener Speicherbereich und für die Dateizuordnung reserviert ist. NULL ist nicht zulässig.

shared_memory_committed_kb

bigint

Umfang des freigegebenen Speicherbereichs, für den vom Arbeitsspeicherclerk ein Commit ausgeführt wurde. NULL ist nicht zulässig.

page_size_bytes

bigint

Größe der Seite, die von einem Arbeitsspeicherclerk zugeordnet werden kann. Es wird nur eine Größe unterstützt (8.192 Bytes). NULL ist nicht zulässig.

page_allocator_address

varbinary(8)

Adresse der Seitenzuordnung. Diese Adresse ist für einen Arbeitsspeicherclerk eindeutig und kann in sys.dm_os_memory_objects verwendet werden, um an diesen Clerk gebundene Arbeitsspeicherobjekte zu suchen. NULL ist nicht zulässig.

host_address

varbinary(8)

Arbeitsspeicheradresse des Hosts für diesen Arbeitsspeicherclerk. Weitere Informationen finden Sie unter sys.dm_os_hosts (Transact-SQL). Komponenten, wie MicrosoftSQL Server Native Client, greifen über die Hostschnittstelle auf die SQL Server-Speicherressourcen zu.

0x00000000 = Arbeitsspeicherclerk gehört zu SQL Server.

NULL ist nicht zulässig.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Hinweise

Der Speicher-Manager von SQL Server besteht aus einer Hierarchie mit drei Ebenen. Die unterste Ebene der Hierarchie bilden Speicherknoten. Die nächste Ebene besteht aus Arbeitsspeicherclerks, Arbeitsspeichercaches und Arbeitsspeicherpools. Die letzte Ebene besteht aus Speicherobjekten. Diese Objekte werden im Allgemeinen für die Zuordnung von Arbeitsspeicher in einer SQL Server-Instanz verwendet.

Speicherknoten stellen die Schnittstelle und die Implementierung für Zuordnungen auf unterer Ebene bereit. Innerhalb von SQL Server haben nur Arbeitsspeicherclerks Zugriff auf Speicherknoten. Speicherknoten greifen für die Zuordnung von Arbeitsspeicher auf Speicherknotenschnittstellen zu. Zudem können Speicherknoten den mithilfe des Clerks zugeordneten Arbeitsspeicher zu Diagnosezwecken nachverfolgen. Jede Komponente, die eine beträchtliche Speichermenge zuordnet, muss einen eigenen Arbeitsspeicherclerk erstellen und ihren gesamten Arbeitsspeicher mithilfe der Clerkschnittstellen zuordnen. Komponenten erstellen ihre entsprechenden Clerks, wenn SQL Server gestartet wird.