Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
Geeft de informatie terug over de huidige query-resource semafoorstatus in SQL Server. sys.dm_exec_query_resource_semaphores geeft een algemene query-uitvoeringsstatus en stelt je in staat te bepalen of het systeem toegang heeft tot voldoende geheugen. Deze weergave vult geheugeninformatie aan die van sys.dm_os_memory_clerks is verkregen om een volledig beeld te geven van de status van het servergeheugen. sys.dm_exec_query_resource_semaphores geeft één rij terug voor de reguliere resource semafore en een andere rij voor de small-query resource semafore. Er zijn twee vereisten voor een small-query semafore:
De aangevraagde geheugentoekenning moet minder zijn dan 5 MB
De querykosten moeten minder zijn dan 3 kosteneenheden
Opmerking
Gebruik de naam sys.dm_pdw_nodes_exec_query_resource_semaphoresom dit aan te roepen vanuit Azure Synapse Analytics of Analytics Platform System (PDW). Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
| resource_semaphore_id | smallint | Niet-unieke ID van de resource-semaphore. 0 voor de reguliere resource semafore en 1 voor de small-query resource semafore. |
| target_memory_kb | bigint | Geef het gebruiksdoel in kilobytes. |
| max_target_memory_kb | bigint | Maximaal potentieel doel in kilobytes. NULL voor de small-query resource semaphore. |
| total_memory_kb | bigint | Geheugen dat door de resource-semafoor wordt vastgehouden in kilobytes. Als het systeem onder geheugendruk staat of als vaak een geforceerd minimum geheugen wordt toegekend, kan deze waarde groter zijn dan de target_memory_kb of max_target_memory_kb waarden. Totaal geheugen is de som van beschikbare en toegekende geheugen. |
| available_memory_kb | bigint | Geheugen beschikbaar voor een nieuwe subsidie in kilobytes. |
| granted_memory_kb | bigint | Totaal toegekend geheugen in kilobytes. |
| used_memory_kb | bigint | Fysiek gebruikt een deel van het toegekende geheugen in kilobytes. |
| grantee_count | int | Aantal actieve aanvragen waarvan de subsidies zijn vervuld. |
| waiter_count | int | Aantal vragen die wachten op de beantwoording van subsidies. |
| timeout_error_count | bigint | Totaal aantal time-out fouten sinds het opstarten van de server. NULL voor de small-query resource semaphore. |
| forced_grant_count | bigint | Totaal aantal verplichte minimumgeheugentoekenningen sinds het opstarten van de server. NULL voor de small-query resource semaphore. |
| pool_id | int | ID van de resourcepool waartoe deze resourcesemafoor behoort. |
| pdw_node_id | int |
van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW) De id voor het knooppunt waarop deze distributie zich bevindt. |
Permissions
Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .
Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Opmerkingen
Queries die dynamische beheerweergaven gebruiken die ORDER BY of aggregaten bevatten, kunnen het geheugenverbruik verhogen en zo bijdragen aan het probleem dat ze oplossen.
Gebruik sys.dm_exec_query_resource_semaphores voor probleemoplossing, maar neem het niet toe in applicaties die toekomstige versies van SQL Server zullen gebruiken.
De functie Resource Governor stelt een databasebeheerder in staat om serverbronnen te verdelen over resource pools, tot maximaal 64 pools. In SQL Server 2012 (11.x) en hoger gedraagt elke pool zich als een kleine, onafhankelijke serverinstantie en vereist 2 semafore.
Zie ook
uitvoeringsgerelateerde dynamische beheerweergaven en -functies (Transact-SQL)
sys.dm_exec_query_memory_grants (Transact-SQL)