Freigeben über


sys.dm_exec_query_resource_semaphores (Transact-SQL)

Gibt Informationen zum aktuellen Status des Abfrageressourcensemaphors zurück. sys.dm_exec_query_resource_semaphores stellt allgemeine Statusinformationen zum Arbeitsspeicher für die Abfrageausführung bereit. Mithilfe dieser Informationen können Sie bestimmen, ob das System Zugriff auf ausreichend Arbeitsspeicher hat. Diese Sicht ergänzt Arbeitsspeicherinformationen aus sys.dm_os_memory_clerks, um umfassenden Aufschluss über den Status des Serverarbeitsspeichers zu erhalten. sys.dm_exec_query_resource_semaphores gibt eine Zeile für das reguläre Ressourcensemaphor und eine weitere Zeile für das Ressourcensemaphor für kleine Abfragen zurück.

Spaltenname

Datentyp

Beschreibung

resource_semaphore_id

smallint

Nicht eindeutige ID des Ressourcensemaphors. 0 für das normale Ressourcensemaphor und 1 für das Ressourcensemaphor für kleine Abfragen.

target_memory_kb

bigint

Zuweisungsziel in Kilobytes.

max_target_memory_kb

bigint

Maximal mögliches Ziel in Kilobytes. NULL für das Ressourcensemaphor für kleine Abfragen.

total_memory_kb

bigint

Der vom Ressourcensemaphor belegte Arbeitsspeicher in Kilobytes. Falls im System der Arbeitsspeicher knapp ist oder der erzwungene minimale Arbeitsspeicher häufig zugewiesen wird, kann dieser Wert größer als die Werte target_memory_kb oder max_target_memory_kb sein. Der Gesamtarbeitsspeicher ist die Summe aus dem verfügbaren und dem zugewiesenen Arbeitsspeicher.

available_memory_kb

bigint

Der für eine neue Zuweisung verfügbare Arbeitsspeicher in Kilobytes.

granted_memory_kb

bigint

Der insgesamt zugewiesene Arbeitsspeicher in Kilobytes.

used_memory_kb

bigint

Der physisch verwendete Teil des zugewiesenen Arbeitsspeichers in Kilobytes.

grantee_count

int

Die Anzahl aktiver Abfragen, deren Zuweisungen erfüllt wurden.

waiter_count

int

Die Anzahl von Abfragen, die auf die Erfüllung ihrer Zuweisungen warten.

timeout_error_count

bigint

Die Gesamtanzahl von Timeoutfehlern seit dem Start des Servers. NULL für das Ressourcensemaphor für kleine Abfragen.

forced_grant_count

bigint

Die Gesamtanzahl erzwungener Zuweisungen des minimalen Arbeitsspeichers seit dem Start des Servers. NULL für das Ressourcensemaphor für kleine Abfragen.

pool_id

int

ID des Ressourcenpools, zu dem dieses Ressourcensemaphor gehört.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

Hinweise

Abfragen mithilfe dynamischer Verwaltungssichten, die ORDER BY oder Aggregate enthalten, können die Arbeitsspeichernutzung erhöhen und so zu dem Problem beitragen, das mit ihnen behandelt werden soll.

Verwenden Sie sys.dm_exec_query_resource_semaphores zur Problembehandlung, aber schließen Sie es nicht in Anwendungen ein, die zukünftige Versionen von SQL Server verwenden sollen.

Mit der Ressourcenkontrollen-Funktion kann ein Datenbankadministrator Serverressourcen auf Ressourcenpools verteilen, bis zu maximal 64 Pools. In SQL Server 2012 verhält sich jeder Pool wie eine kleine unabhängige Serverinstanz und erfordert 2 Semaphore.

Siehe auch

Verweis

Dynamische Verwaltungssichten und -funktionen im Zusammenhang mit der Ausführung (Transact-SQL)

sys.dm_exec_query_memory_grants (Transact-SQL)