Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Monitoraggio delle query in esecuzione su SQL Server

Ciao,

Il DBA di SQL Server dovrebbe monitorare il database e l'esecuzione di query ogni volta.

Il monitoraggio delle query in esecuzione è molto importante per i criteri di ottimizzazione delle prestazioni. Perché se una query è in esecuzione da molto tempo, puoi avvisare il proprietario dell'applicazione o il cliente. E puoi chiedere a te stesso e al cliente perché questa query dura da molto tempo, è normale o no?

Puoi monitorare le query in esecuzione in SQL Server con il seguente script.

select text, 
SUBSTRING(st.text, (qs.statement_start_offset/2)+1, 
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2) + 1) AS statement_text,
* from sys.dm_exec_requests qs
cross apply sys.dm_exec_sql_text(sql_handle) st
cross apply sys.dm_exec_query_plan(plan_handle);