SQL Server Activity Monitor

SQL Server Activity Monitor in Sql Server 2019. Come utilizzarlo

SQL Server Activity Monitor è un sistema di monitoraggio per visualizzare informazioni sui processi correnti di SQL Server e sul modo in cui questi processi influiscono sull’istanza corrente di SQL Server. Un monitoraggio efficiente fornisce informazioni sufficienti per diagnosticare e risolvere problemi, blocchi e colli di bottiglia.

SQL Server Activity Monitor

SQL Server Activity Monitor è costituito da diversi riquadri: Panoramica, Processi, Attese risorse, I/O file di dati e Query costose recenti. I riquadri possono essere espansi e compressi. Le attività vengono sottoposte a query solo quando il riquadro specifico viene espanso.

Active Monitor esegue query sull’istanza monitorata per ottenere informazioni per i riquadri di visualizzazione di Monitoraggio attività. Quando l’intervallo di aggiornamento è impostato su meno di 10 secondi, il tempo utilizzato per eseguire queste query può influire sulle prestazioni del server

Sql Server Active Monitor: Requisiti per l’utilizzo

L’autorizzazione necessaria per visualizzare Monitoraggio attività è VIEW SERVER STATE

Per visualizzare il riquadro I/O file di dati, oltre a VIEW SERVER STATE, all’account di accesso devono essere concesse le autorizzazioni CREATE DATABASE, ALTER ANY DATABASE o VIEW ANY DEFINITION

Per terminare un processo, è necessario essere membri del ruolo sysadmin

Come avviare Sql Server Active Monitor

Esistono diversi modi per avviare l’Active Monitor: nella barra degli strumenti di SQL Server Management Studio fare clic sull’icona di Monitoraggio attività, usare la scelta rapida da tastiera Ctrl+ Alt+ A o in Esplora oggetti fare clic con il pulsante destro del mouse sull’istanza di SQL Server e selezionare Monitoraggio attività

Un’altra opzione consiste nell’impostare Monitoraggio attività da aprire all’avvio di SQL Server Management StudioOne more option is to set Activity Monitor to be opened when SQL Server Management Studio is started

  1. Nel menu sql Server Management StudioSQL Server Management Studio fare clic su Strumenti e quindi su Opzioni
  2. Aprire l’Ambiente Scheda Avvio
  3. Selezionare l’opzione Apri Esplora oggetti e Monitoraggio attività

Sql Server Activity Monitor è una funzionalità di SQL Server Management Studio che tiene traccia di alcune delle metriche più importanti che influiscono sulle prestazioni. Mostra le metriche in tempo reale, senza la soluzione out-of-the-box per salvarle per analisi successive.

In Sql Server Activity Monitor filtrare in base a un database/parametro specifico è facile, ma non è possibile escludere un valore specifico. Anche il monitoraggio di metriche aggiuntive non è possibile. Grazie al suo set limitato di funzionalità e metriche monitorate, non è consigliabile per un monitoraggio approfondito delle prestazioni.

Active Monitor: Overview

Il riquadro Overview contiene i grafici per le informazioni più importanti sull’istanza di SQL Server.

  1. % Tempo processore – è la percentuale di tempo impiegato dai processori per eseguire thread che non sono inattivi
  2. Attività in attesa: indica il numero di attività in attesa del rilascio di processore, I/O o memoria in modo che le attività possano essere elaborate
  3. I/O del database – è la velocità di trasferimento dati in MB/s dalla memoria al disco, dal disco alla memoria o dal disco al disco su disco
  4. Richieste batch/sec: indica il numero di batch di SQL Server ricevuti dall’istanza in un secondo
SQL Server Activity Monitor - Overview
SQL Server Activity Monitor – Overview

Riquadro Processi

Il riquadro Processi mostra le informazioni sui processi attualmente in esecuzione nei database SQL, su chi li esegue e da quale applicazione

Una descrizione comando per ogni intestazione di tabella mostra una breve descrizione dei dati di colonna e delle visualizzazioni di sistema utilizzate per ottenerla. Ogni colonna può essere filtrata utilizzando i filtri nell’intestazione di colonna

Il menu di scelta rapida per il processo specifico fornisce opzioni per visualizzare l’ultimo batch di comandi T-SQL per il processo, interromperlo o tracciarlo in SQL Server Profiler

SQL Server Activity Monitor - Processi
SQL Server Activity Monitor – Processi

ID sessione: è un valore univoco assegnato dal Motore di database (Database Engine) a ogni connessione utente. Questo è il valore spid restituito dalla procedura sp_who

Processo utente – 1 per i processi utente, 0 per i processi di sistema. Il filtro predefinito è impostato su 1, quindi vengono visualizzati solo i processi utente

Account di accesso: l’account di accesso di SQL Server che esegue la sessione

Database: il nome del database in cui è in esecuzione il processo

Stato attività: lo stato dell’attività, vuoto per le attività nello stato runnable e sospensione. Il valore può essere ottenuto anche utilizzando la vista sys.dm_os_tasks, come colonna task_state. Gli stati restituiti possono essere: PENDING:Waiting for a worker thread. RUNNABLE: ma in attesa di ricevere un quantum. RUNNING: Attualmente in esecuzione sull’utilità di pianificazione. SUSPENDED: sospeso, ma è in attesa di un evento. FATTO: Completato. SPINLOOP: Bloccato in uno spinlock.” 

Comando – il tipo di comando corrente. Il valore può essere ottenuto anche utilizzando la vista sys.dm_exec_requests, come colonna di comando

Applicazione: nome dell’applicazione che ha creato la connessione

Tempo di attesa (ms): per quanto tempo in millisecondi l’attività è in attesa di una risorsa. Il valore può essere ottenuto anche utilizzando la vista sys.dm_os_waiting_tasks, come colonna wait_duration_ms

Tipo di attesa: l’ultimo/tipo di attesa corrente. Il valore può essere ottenuto anche utilizzando la vista sys.dm_os_waiting_tasks, come colonna wait_type. Le attese possono essere di risorse, code ed attese esterne

Risorsa di attesa: la risorsa in attesa della connessione. Il valore può essere ottenuto anche utilizzando la vista sys.dm_os_waiting_tasks, come resource_description colonna

Bloccato da: ID della sessione che blocca l’attività. Il valore può essere ottenuto anche utilizzando la vista sys.dm_os_waiting_tasks, come la colonna blocking_session_id

Head Blocker – la sessione che causa la prima condizione di blocco in una catena di blocco

Memory Use (KB) – la memoria utilizzata dall’attività. Il valore può essere ottenuto anche utilizzando la vista sys.dm_exec_sessions, come la colonna memory_usage

Nome host: il nome del computer in cui viene effettuata la connessione corrente. Il valore può essere ottenuto anche utilizzando la vista sys.dm_exec_sessions, come la colonna host_name

Gruppo di carico di lavoro: nome del gruppo del carico di lavoro di Resource Governor[3]. Il valore può essere ottenuto anche utilizzando la vista sys.dm_resource_governor_workload_groups, come colonna name

Riquadro Attesa Risorse

In Sql Server Activity Monitor il riquadro Attesa Risorse mostra il tempo di Wait risorse per ogni attività.

SQL Server Activity Monitor - Attesa Risorse
SQL Server Activity Monitor – Attesa Risorse

Categoria di attesa: vengono create le categorie che combinano tipi di attesa strettamente correlati. I tipi di attesa vengono visualizzati nella colonna Tipo di attesa del riquadro Processi

Tempo di attesa (ms/sec): il tempo in cui tutte le attività in attesa sono in attesa di una o più risorse

Tempo di attesa recente (ms/sec): il tempo medio in cui tutte le attività in attesa sono in attesa di una o più risorse

Media numero di camerieri: viene calcolato per un tipico punto nel tempo nell’ultimo intervallo di campionamento e rappresenta il numero di attività in attesa di una o più risorse

Tempo di attesa cumulativo (sec): il tempo totale di attesa delle attività di attesa per una o più risorse dall’ultimo riavvio di SQL Server o l’ultima esecuzione di DBCC SQLPERF

Riquadro I/O Data File

Visualizza informazioni sui file di database nell’istanza di SQL Server. Per ogni database sono elencati tutti i file di database: MDF, LDF e NDF, i relativi percorsi e nomi

SQL Server Activity Monitor - Data File I/O
SQL Server Activity Monitor – Data File I/O

Lettura MB/sec: mostra l’attività di lettura recente per il file di database

Scrittura MB/sec : mostra l’attività di scrittura recente per il file di database

Tempo di risposta (ms) – tempo di risposta medio per l’attività di lettura e scrittura recente

Riquadro Query costose recenti

In Sql Server Active Monitor le query costose sono le query che utilizzano molte risorse: memoria, disco, rete. Il riquadro mostra le query costose eseguite negli ultimi 30 secondi. Le informazioni vengono ottenute dalle viste sys.dm_exec_requests e sys.dm_exec_query_stats . Un doppio clic sulla query apre l’istruzione monitorata.

Il menu di scelta rapida per la query specifica fornisce opzioni per aprire la query nell’editor di query e visualizzare il piano di esecuzione

SQL Server Activity Monitor - Costo esecuzione Query
SQL Server Activity Monitor – Costo esecuzione Query

Query: l’istruzione di query SQL monitorata

Executions/min – il numero di esecuzioni al minuto, dall’ultima ricompilazione. Il valore può essere ottenuto anche utilizzando la vista sys.dm_exec_query_stats, come la colonna execution_count

CPU (ms/sec): la frequenza della CPU utilizzata dall’ultima ricompilazione. Il valore può essere ottenuto anche utilizzando la vista sys.dm_exec_query_stats, come la colonna total_worker_time

Letture fisiche/sec, Scritture logiche/sec: frequenza di letture fisiche/scritture/scritture logiche al secondo. Il valore può essere ottenuto anche utilizzando la vista sys.dm_exec_query_stats, come le colonne total_physical_reads/ total_logical_writes/ total_logical_reads

Media durata (ms): tempo medio di esecuzione della query. Calcolato in base alle colonne total_elapsed_time e execution_count nella vista sys.dm_exec_query_stats

Conteggio piani: numero di piani di query duplicati. Un numero elevato richiede un’analisi e la potenziale parametrizzazione esplicita delle query

Conclusione

Abbiamo visto i vari riquadri di Sql Server Activity Monitor e illustrato nel dettaglio il significato dei vari campi presi in considerazione.

Consiglio di leggere la documentazione Microsoft per aspetti più dettagliati.

Autore Bartolomeo

Consulente tecnico con la passione per il web e la tecnologia e tutto quello che le ronza intorno.
Nel tempo libero scrivo articoli per il mio blog su argomenti vari, in particolare su configurazione Windows, Linux e WordPress.

Condividi questo articolo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Ho letto la policy privacy e accetto il trattamento dei miei dati personali in conformità al D.Lgs. 196/2003