Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server-Überwachung von ausgeführten Abfragen

Hallo,

SQL Server DBA sollte die Datenbank und laufende Abfragen jederzeit überwachen.

Laufende Abfragen zu überwachen sind sehr wichtig für Leistungsoptimierungskriterien. Denn wenn eine Abfrage längere Zeit ausgeführt wird, können Sie den Anwendungseigentümer oder Kunden warnen. Und Sie können sich und den Kunden fragen, warum diese Abfrage so lange läuft, ist das normal oder nicht?

Sie können laufende Abfragen in SQL Server mit folgendem Skript überwachen.

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);