Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Vrací informace o aktuálním stavu dotazu-resource semaforu v SQL Serveru. sys.dm_exec_query_resource_semaphores poskytuje obecný stav paměti při dotazování a umožňuje zjistit, zda systém má přístup k dostatečnému množství paměti. Tento pohled doplňuje informace z paměti získané z sys.dm_os_memory_clerks a poskytuje úplný obraz o stavu paměti serveru. sys.dm_exec_query_resource_semaphores vrací jeden řádek pro běžný semafor zdrojů a další řádek pro semafor pro malý dotaz. Existují dva požadavky na semafor s malým dotazem:
Požadovaný příspěvek na paměť by měl být menší než 5 MB
Náklady na dotaz by měly být nižší než 3 nákladové jednotky
Poznámka:
K volání z Azure Synapse Analytics nebo systému PDW (Analytics Platform System) použijte název sys.dm_pdw_nodes_exec_query_resource_semaphores. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
| Název sloupce | Datový typ | Description |
|---|---|---|
| resource_semaphore_id | smallint | Neunikátní identifikace semaforu zdroje. 0 pro běžný semafor zdrojů a 1 pro semafor pro malé dotazy. |
| target_memory_kb | bigint | Přidělte cíl využití v kilobajtech. |
| max_target_memory_kb | bigint | Maximální potenciální cíl v kilobajtech. NULL pro semafor pro malé dotazy a zdroje. |
| total_memory_kb | bigint | Paměť držená semaforem zdrojů v kilobajtech. Pokud je systém pod tlakem paměti nebo pokud je nucená minimální paměť často udělována, může být tato hodnota větší než hodnoty target_memory_kb nebo max_target_memory_kb . Celková paměť je součet dostupné a přidělené paměti. |
| available_memory_kb | bigint | Paměť dostupná pro nový grant v kilobajtech. |
| granted_memory_kb | bigint | Celková povolená paměť v kilobajtech. |
| used_memory_kb | bigint | Fyzicky využíval část přidělené paměti v kilobajtech. |
| grantee_count | int | Počet aktivních dotazů, u kterých byly splněny granty. |
| waiter_count | int | Počet dotazů čekajících na schválení grantů. |
| timeout_error_count | bigint | Celkový počet chyb při vypršení času od spuštění serveru. NULL pro semafor pro malé dotazy a zdroje. |
| forced_grant_count | bigint | Celkový počet vynucených minimálních povolení paměti od spuštění serveru. NULL pro semafor pro malé dotazy a zdroje. |
| pool_id | int | ID zdrojového fondu, do kterého tento semafor patří. |
| pdw_node_id | int |
platí pro: Azure Synapse Analytics, Analytics Platform System (PDW) Identifikátor uzlu, na který je tato distribuce zapnutá. |
Povolení
Na SQL Serveru a službě SQL Managed Instance vyžaduje VIEW SERVER STATE oprávnění.
U cílů služby SQL Database Basic, S0 a S1 a pro databáze v elastických fondech se vyžaduje účet správce serveru , účet správce Microsoft Entra nebo členství v ##MS_ServerStateReader##roli serveru . U všech ostatních cílů VIEW DATABASE STATE služby SQL Database se vyžaduje buď oprávnění k databázi, nebo členství v ##MS_ServerStateReader## roli serveru.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.
Poznámky
Dotazy využívající dynamické manažerské pohledy zahrnující ORDER BY nebo agregáty mohou zvýšit spotřebu paměti a tím přispět k problému, který řeší.
Používejte sys.dm_exec_query_resource_semaphores pro řešení problémů, ale nezahrňujte ho do aplikací, které budou používat budoucí verze SQL Serveru.
Funkce Resource Govern umožňuje správce databáze rozdělit serverové zdroje mezi zdrojové pooly, až do maxima 64 poolů. V SQL Server 2012 (11.x) a vyšších se každý pool chová jako malá nezávislá serverová instance a vyžaduje 2 semafory.
Viz také
zobrazení a funkce související se spouštěním dynamické správy (Transact-SQL)
sys.dm_exec_query_memory_grants (Transact-SQL)