sys.dm_exec_query_optimizer_memory_gateways (Transact-SQL)
van toepassing op: SQL Server 2016 (13.x) en hoger Azure SQL DatabaseAzure SQL Managed Instance
Retourneert de huidige status van resourcesemaforen die worden gebruikt om gelijktijdige queryoptimalisatie te verminderen.
Kolom | Type | Beschrijving |
---|---|---|
pool_id |
Resourcegroep-id onder Resource Governor | |
name |
sysname- | Naam van de poort compileren (kleine gateway, middelgrote gateway, grote gateway) |
max_count |
Het maximum aantal geconfigureerde compilaties | |
active_count |
Het momenteel actieve aantal compileerts in deze poort | |
waiter_count |
Het aantal obers in deze poort | |
threshold_factor |
grote | Drempelwaardefactor die het maximale geheugengedeelte definieert dat wordt gebruikt door queryoptimalisatie. Voor de kleine gateway geeft threshold_factor het maximale geheugengebruik van de optimalisatie in bytes voor één query aan voordat het nodig is om toegang te krijgen in de kleine gateway. Voor de middelgrote en grote gateway toont threshold_factor het gedeelte van het totale servergeheugen dat beschikbaar is voor deze poort. Het wordt gebruikt als deler bij het berekenen van de drempelwaarde voor geheugengebruik voor de poort. |
threshold |
grote | Volgende drempelwaarde geheugen in bytes. De query is vereist om toegang te krijgen tot deze gateway als het geheugenverbruik deze drempelwaarde bereikt.
-1 als de query niet vereist is om toegang te krijgen tot deze gateway. |
is_active |
bit | Of de query vereist is om de huidige poort door te geven of niet. |
Machtigingen
SQL Server vereist de machtiging VIEW SERVER STATE op de server.
Azure SQL Database vereist de machtiging VIEW DATABASE STATE in de database.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Opmerkingen
SQL Server maakt gebruik van een gelaagde gatewaybenadering om het aantal toegestane gelijktijdige compilaties te verminderen. Er worden drie gateways gebruikt, waaronder kleine, middelgrote en grote gateways. Gateways helpen voorkomen dat de totale geheugenbronnen worden uitgeput door grotere gebruikers die geheugen nodig hebben voor compilatiegeheugen.
Wachten op een gateway resulteert in vertraagde compilatie. Naast vertragingen in compilatie hebben gereduceerde aanvragen een gekoppelde RESOURCE_SEMAPHORE_QUERY_COMPILE accumulatie van wachttypen. Het RESOURCE_SEMAPHORE_QUERY_COMPILE wachttype kan erop wijzen dat query's een grote hoeveelheid geheugen gebruiken voor compilatie en dat geheugen uitgeput is. Er kan ook voldoende geheugen beschikbaar zijn in het algemeen, maar beschikbare eenheden in een specifieke gateway zijn uitgeput. De uitvoer van sys.dm_exec_query_optimizer_memory_gateways
kan worden gebruikt voor het oplossen van problemen met scenario's waarbij er onvoldoende geheugen was om een queryuitvoeringsplan te compileren.
Voorbeelden
Een. Statistieken over resourcesemaforen weergeven
Wat zijn de huidige statistieken van de optimizer-geheugengateway voor dit exemplaar van 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;