sys.dm_exec_query_resource_semaphores (Transact-SQL)
Vengono restituite le informazioni sullo stato del semaforo per le risorse query corrente. sys.dm_exec_query_resource_semaphores fornisce lo stato generale della memoria dell'esecuzione di query e consente di determinare se la quantità di memoria disponibile per il sistema è sufficiente. Insieme alle informazioni sulla memoria ottenute da sys.dm_os_memory_clerks, questa vista offre un quadro completo dello stato della memoria del server. Tramite sys.dm_exec_query_resource_semaphores vengono restituite una riga per il semaforo di risorsa normale e un'altra riga per il semaforo di risorsa per query di dimensioni ridotte.
Nome colonna |
Tipo di dati |
Descrizione |
---|---|---|
resource_semaphore_id |
smallint |
ID non univoco del semaforo di risorsa. È uguale a 0 per il semaforo di risorsa normale e a 1 per il semaforo di risorsa per query di dimensioni ridotte. |
target_memory_kb |
bigint |
Destinazione di utilizzo della concessione di memoria, espressa in kilobyte. |
max_target_memory_kb |
bigint |
Destinazione potenziale massima, espressa in kilobyte. È NULL per il semaforo di risorsa per query di dimensioni ridotte. |
total_memory_kb |
bigint |
Memoria utilizzata dal semaforo di risorsa, espressa in kilobyte. In caso di numero eccessivo di richieste di memoria o se viene concessa frequentemente una quantità minima di memoria, questo valore può essere maggiore del valore di target_memory_kb o di max_target_memory_kb. La memoria totale è la somma della memoria disponibile e della memoria concessa. |
available_memory_kb |
bigint |
Memoria disponibile per una nuova concessione, espressa in kilobyte. |
granted_memory_kb |
bigint |
Memoria totale concessa, espressa in kilobyte. |
used_memory_kb |
bigint |
Parte fisica della memoria concessa, espressa in kilobyte. |
grantee_count |
int |
Numero di query attive a cui è stata concessa la memoria richiesta. |
waiter_count |
int |
Numero di query in attesa che venga concessa la memoria richiesta. |
timeout_error_count |
bigint |
Numero complessivo di errori di timeout dall'avvio del server. È NULL per il semaforo di risorsa per query di dimensioni ridotte. |
forced_grant_count |
bigint |
Numero complessivo di concessioni di memoria minima dall'avvio del server. È NULL per il semaforo di risorsa per query di dimensioni ridotte. |
pool_id |
int |
ID del pool di risorse a cui appartiene il semaforo di risorsa. |
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE per il server.
Osservazioni
Le query che utilizzano viste a gestione dinamica che includono clausole ORDER BY o funzioni di aggregazione potrebbero aumentare l'utilizzo della memoria, contribuendo di conseguenza a causare il problema che dovrebbero risolvere.
Utilizzare pertanto tale vista per la risoluzione dei problemi ma non includerla nelle applicazioni che utilizzeranno versioni future di SQL Server.
La funzionalità Resource Governor consente a un amministratore del database di distribuire risorse del server fra un massimo di 64 pool di risorse. In SQL Server 2012, per ogni pool, il cui comportamento è simile a una piccola istanza indipendente del server, sono richiesti 2 semafori.
Vedere anche
Riferimento
Funzioni e viste a gestione dinamica relative all'esecuzione (Transact-SQL)