Überwachung von SQL Server 2012 langsame Abfragen / Abfragen, die blockiert werden
-
29-09-2020 - |
Frage
Ich verwende SQL Server 2012 und möchte die Abfragen abhalten, die länger dauert, um zusammen mit den Abfragen zusammenzuführen, die auf dem Server blockieren.Wenn ich den Server für die laufenden Abfragen anschaue, um alle Blockierung zu identifizieren, findest ich keine Abfrage.
Ich habe erweiterte Ereignisse eingerichtet und nur dazu hochwertige Informationen davon erhalten.Die Tabellen, die Timeouts bekommen, aber ich brauche Informationen, die mehr über die Anfragen erzählt, die die Timeouts verursacht haben.
Alle Vorschläge ???
Lösung
Sie können den DMVs SYS nutzen. dm_exec_query_stats und sys.dm_exec_requests Analysieren der ressourcenaufwendigen Abfragen zusammen mit ihrer Dauer für was lange:
Verwenden Sie die folgenden Abfrage, um das gleiche zu erfassen:
generasacodicetagpre.Darüber hinaus würde empfohlen, wenn Sie erweiterte Ereignisse verwenden, können Sie dasselbe erfassen. Weitere Informationen zum Einrichten und Verwenden derselben lesen Sie bitte diesen Whitepaper von Jonathan SQL Server 2008 Erweiterte Ereignisse , die Sie mit hier
auch, wenn die Abfragen ausgeführt wird, und was der gesamte Prozess im Hintergrund ausgeführt wird und prüft, ob das Blockieren wirklich da draußen zusammen mit allen bestimmten Warten ist, empfehlen Sie, sp_whoisactive von So verwenden Sie sp_whoisactive, um langsame SQL-Serverabfragen zu finden
auch, wenn Sie es vorziehen, Profiler zu verwenden, können Sie das gleiche verfolgen und beheben, wie in Wie man langsam laufende Abfragen mit SQL-Profiler
identifiziert