sys.dm_exec_query_optimizer_memory_gateways (Transact-SQL)
Dotyczy: SQL Server 2016 (13.x) i nowszych Azure SQL DatabaseAzure SQL Managed Instance
Zwraca bieżący stan semaforów zasobów używanych do zmniejszenia współbieżnej optymalizacji zapytań.
Kolumna | Typ | Opis |
---|---|---|
pool_id |
Identyfikator puli zasobów w obszarze Zarządca zasobów | |
name |
nazwa systemu | Nazwa bramy kompilowania (mała brama, średnia brama, brama big gateway) |
max_count |
Maksymalna skonfigurowana liczba współbieżnych kompilacji | |
active_count |
Obecnie aktywna liczba kompilacji w tej bramie | |
waiter_count |
Liczba kelnerów w tej bramie | |
threshold_factor |
bigint | Współczynnik progowy, który definiuje maksymalną część pamięci używaną przez optymalizację zapytań. W przypadku małej bramy threshold_factor wskazuje maksymalne użycie pamięci optymalizatora w bajtach dla jednego zapytania, zanim będzie wymagane uzyskanie dostępu w małej bramie. W przypadku średniej i dużej bramy threshold_factor pokazuje część całkowitej pamięci serwera dostępnej dla tej bramy. Jest on używany jako dzielnika podczas obliczania progu użycia pamięci dla bramy. |
threshold |
bigint | Następna pamięć progowa w bajtach. Zapytanie jest wymagane, aby uzyskać dostęp do tej bramy, jeśli jego użycie pamięci osiągnie ten próg.
-1 , jeśli zapytanie nie jest wymagane do uzyskania dostępu do tej bramy. |
is_active |
bitów |
Czy zapytanie jest wymagane do przekazania bieżącej bramy, czy nie. |
Uprawnienia
Program SQL Server wymaga uprawnienia WYŚWIETL STAN SERWERA na serwerze.
Usługa Azure SQL Database wymaga uprawnienia WYŚWIETL STAN BAZY danych w bazie danych.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Uwagi
Program SQL Server używa warstwowej bramy w celu zmniejszenia liczby dozwolonych kompilacji współbieżnych. Używane są trzy bramy, w tym małe, średnie i duże. Bramy pomagają zapobiec wyczerpaniu ogólnych zasobów pamięci przez większe ilości pamięci wymagającej użytkowników kompilacji.
Oczekiwania na bramę powodują opóźnienie kompilacji. Oprócz opóźnień w kompilacji mniejsze żądania będą miały skojarzona RESOURCE_SEMAPHORE_QUERY_COMPILE akumulacja typu oczekiwania. Typ oczekiwania RESOURCE_SEMAPHORE_QUERY_COMPILE może wskazywać, że zapytania używają dużej ilości pamięci do kompilacji i że pamięć jest wyczerpana. Alternatywnie może być wystarczająca ilość dostępnej pamięci ogólnej, ale dostępne jednostki w określonej bramie są wyczerpane. Dane wyjściowe sys.dm_exec_query_optimizer_memory_gateways
mogą służyć do rozwiązywania problemów ze scenariuszami, w których nie było wystarczającej ilości pamięci do skompilowania planu wykonywania zapytania.
Przykłady
A. Wyświetlanie statystyk dotyczących semaforów zasobów
Jakie są bieżące statystyki bramy pamięci optymalizatora dla tego wystąpienia programu SQL Server?
SELECT [pool_id], [name], [max_count], [active_count],
[waiter_count], [threshold_factor], [threshold],
[is_active]
FROM sys.dm_exec_query_optimizer_memory_gateways;
Powiązana zawartość
- dynamiczne widoki zarządzania systemu
- dynamiczne widoki zarządzania i funkcje związane z wykonywaniem (Transact-SQL)
- Jak używać polecenia DBCC MEMORYSTATUS do monitorowania użycia pamięci w programie SQL Server 2005
- duże oczekiwania kompilacji zapytań na RESOURCE_SEMAPHORE_QUERY_COMPILE w programie SQL Server 2014