Oggetto Memory Manager di SQL Server
Tramite l'oggetto Memory Manager di Microsoft SQL Server sono disponibili contatori per il monitoraggio dell'utilizzo complessivo della memoria del server. Tale monitoraggio che consente di determinare l'attività degli utenti e l'utilizzo delle risorse può risultare utile per identificare eventuali colli di bottiglia. Con il monitoraggio dell'utilizzo della memoria da parte di un'istanza di SQL Server è possibile rilevare le situazioni seguenti:
Presenza di colli di bottiglia in seguito a quantità di memoria fisica non sufficiente per l'archiviazione nella cache dei dati di accesso frequente. Nel caso di memoria insufficiente, SQL Server deve recuperare i dati dal disco.
È possibile migliorare le prestazioni delle query aggiungendo memoria o rendendo disponibile una maggiore quantità di memoria per la cache dei dati o le strutture interne di SQL Server.
Nella tabella seguente vengono descritti i contatori Memory Manager di SQL Server.
Contatori Memory Manager di SQL Server |
Descrizione |
---|---|
Memoria connessioni (KB) |
Quantità totale di memoria dinamica utilizzata dal server per mantenere attive le connessioni. |
Memoria area di lavoro concessa (KB) |
Quantità totale di memoria concessa per l'esecuzione di processi, quali operazioni di hashing, ordinamento, copia bulk e creazione di indici. |
Blocchi di blocco |
Numero corrente di blocchi di blocco in uso nel server (valore aggiornato periodicamente). Un blocco di blocco rappresenta una singola risorsa bloccata, ad esempio una tabella, una pagina o una riga. |
Blocchi di blocco allocati |
Numero corrente di blocchi di blocco allocati. All'avvio del server il numero di blocchi di blocco allocati più il numero di blocchi dei proprietari di blocco allocati varia a seconda dell'opzione di configurazione Locks di SQL Server. Se viene richiesto un maggior numero di blocchi di blocco, il valore aumenta. |
Memoria blocchi (KB) |
Quantità totale di memoria dinamica utilizzata dal server per i blocchi. |
Blocchi proprietari di blocco |
Numero di blocchi dei proprietari di blocco in uso nel server (valore aggiornato periodicamente). Un blocco di proprietario di blocco rappresenta la detenzione della proprietà di un blocco su un oggetto da parte di un singolo thread. Di conseguenza, se tre thread dispongono ciascuno di un blocco condiviso (S) su una pagina, saranno presenti tre blocchi di proprietario di blocco. |
Blocchi proprietari di blocco allocati |
Numero corrente di blocchi di proprietari di blocco allocati. All'avvio del server il numero di blocchi proprietari di blocco allocati e il numero di blocchi di blocco allocati varia a seconda dell'opzione di configurazione Locks di SQL Server. Se viene richiesto un maggior numero di blocchi proprietari di blocco, il valore aumenta in modo dinamico. |
Memoria massima area di lavoro (KB) |
Quantità massima di memoria disponibile per l'esecuzione di processi, quali operazioni di hashing, ordinamento, copia bulk e creazione di indici. |
Concessioni di memoria in attesa |
Numero totale di processi a cui è stata concessa memoria per area di lavoro. |
Concessioni di memoria in sospeso |
Numero totale di processi in attesa di ottenere memoria per area di lavoro. |
Memoria Query Optimizer (KB) |
Quantità totale di memoria dinamica utilizzata dal server per l'ottimizzazione di query. |
Memoria cache SQL (KB) |
Quantità totale di memoria dinamica utilizzata dal server per la cache SQL dinamica. |
Memoria prevista server (KB) |
Quantità totale di memoria dinamica disponibile per il server. |
Memoria totale server (KB) |
Quantità di memoria riservata del pool di buffer in KB.
Nota
Non corrisponde alla quantità di memoria totale utilizzata da SQL Server.
|