LEISTUNGSÜBERWACHUNG IN ECHTZEIT

SQL-Server-Verbindungsablauf

sql server connection flow
Die obige Grafik zeigt die Funktionsweise des Microsoft SQL Servers bezüglich der Ausführung einer SQL Abfrage auf. Während der Ausführung werden systemrelevante Daten in Systemtabellen gespeichert. Die wichtigsten Systemtabellen sind sie in der Grafik. Natürlich verwenden wir bei der Analyse wesentlich mehr Systemtabellen, hier angezeigten fünf Systemtabellen könnte man aber als Kern der Analyse betrachten.


Tabellen im System und deren Inhat

Die Tabelle sys.dm_exec_sessions umfasst Daten von Benutzer- sowie interne SQL Server-Session, die zur Ausführung von den Sessions verwendet werden.
Die Tabelle sys.dm_exec_connections enthält zusätzliche Informationen zu den Sessions, die von externen Clients initiiert wurden, einschließlich den Protokolldetails.
Die Tabelle sys.dm_exec_requests enthält Informationen über aktive SQL Server-Anfragen (z. B. das Ausführen von Abfragen).

Überprüfen Sie Ihre SQL Server Leistung mit unserer Logik HUTHEFUCKISWRING


Datenbank perf_neartime

Die Datenbank sammelt Echtzeitdaten, indem sie die Systemaktivitäten erfasst und in verschiedenen Tabellen speichert. Diese Daten werden alle 5 Minuten gespeichert, um eine aktuelle Aufzeichnung der Systemleistung zu gewährleisten. Der Prozess der Datenspeicherung wird von einem Job namens "Performance_Neartime" eingeleitet, der eine gespeicherte Prozedur namens "StorePerformanceData" ausführt. Dieser Job und die gespeicherte Prozedur arbeiten zusammen, um die erforderlichen Informationen aus dem System abzurufen und in den entsprechenden Tabellen innerhalb der Datenbank zu speichern. 

Die gesammelten Daten bieten wertvolle Einblicke in die Leistung des Systems und ermöglichen es den Benutzern, verschiedene Aspekte der Systemaktivitäten zu analysieren und zu überwachen. Durch die regelmäßige Erfassung von Daten können Veränderungen verfolgt und Trends im Laufe der Zeit erkannt werden. Diese Informationen sind für Systemadministratoren und Analysten von entscheidender Bedeutung, um die Systemleistung zu optimieren, Probleme zu beheben und fundierte Entscheidungen über die Ressourcenzuweisung und Systemkonfiguration zu treffen.

Zu den erfassten Daten gehören Serverinformationen wie Servername, Version, Anmeldezeit und Sitzungsdetails. Außerdem werden aktive Anfragen, Ausführungspläne, Datenbankgrößen, blockierende Sitzungen, Arbeitsgruppenstatistiken, verbundene Benutzer, Aktivitäten zur Seitenzuweisung und -freigabe, Speicherzuweisungen, ausgeführte Abfragen, Ressourcenpoolstatus, offene Transaktionen, Wartestatus, geplante Aufträge und die aktuelle Speichernutzung erfasst. Jede dieser Tabellen enthält spezifische Spalten, die relevante Informationen in Bezug auf die jeweilige Datenkategorie enthalten.

performance tunung overview full database perf_neartime


Datenbank perf_querystore

Die Funktion "Realtime Data Collection for the Query Store" bietet wertvolle Einblicke in die Auswahl des Abfrageplans und die Leistung von SQL Server. Sie vereinfacht die Fehlerbehebung erheblich, da Sie Leistungsabweichungen, die durch Änderungen im Abfrageplan verursacht werden, schnell erkennen können. Der Abfragespeicher erfasst und speichert automatisch einen Verlauf von Abfragen, Plänen und Laufzeitstatistiken zu Ihrer Überprüfung. Der Prozess der Datensicherung wird durch einen Job namens Performance_QueryStore eingeleitet.  Dieser Job ruft eine Reihe von Stored Procedures auf, die Daten aus den Systemtabellen des Query Store und der Dynamical Management Views in den Tabellen der perf_querystore-Datenbank speichern. Gespeicherte Daten, die zur Erstellung von Berichtsansichten und Tabellen mit Informationen zur Analyse und Definition der meisten Lastabfragen verwendet werden.  

performance tunung overview full database perf_querystore

Performance-Tuning Übersicht vollständige Datenbank perf_querystore
performance tunung overview
Bietet detailliertere Informationen über die Top 20 der Speicherzuteilung und -nutzung bestimmter Datenbankabfragen, zusammen mit zusätzlichen Feldern für die Datenverwaltung.
Quelltabellen der Datenbank perf_querystore, aus denen Daten entnommen werden:

perfsys.dm_exec_sessions - liefert Informationen über alle aktiven Benutzerverbindungen und internen Tasks.
Dazu gehören Client-Informationen wie Anwendungs- und Hostnamen, Sicherheitseinstellungen, Konfigurationseinstellungen und andere sitzungsspezifische Daten.
perfsys.dm_exec_requests - liefert Informationen über jede Anforderung, die innerhalb von SQL Server ausgeführt wird.
Dazu gehören Anfragen von Benutzersitzungen, Systemsitzungen und internen Prozessen.
perfsys.dm_exec_query_memory_grants - liefert Informationen über alle Abfragen, die eine Speicherzuteilung angefordert haben und darauf warten oder eine solche erhalten haben.
perfsys.dm_exec_sql_text - Informationen über den Text der SQL-Abfrage entsprechend dem sql_handle der Abfrage.
dbo.tbl_query_store_plan_handle - stellt den Bezeichner für den Speicherplatz dar, an dem der tatsächliche Ausführungsplan für eine bestimmte Abfrage gespeichert ist.
Möchten Sie sehen, von welchem Server und welcher Anwendung die Abfrage gestartet wurde und welcher Benutzer sie ausgeführt hat?
Das Skript WhoTheFuckIsWrong.sql ist ein leistungsfähiges Tool zur Analyse der SQL Server-Leistung.
Performance Tuning Logo
+41 (0)56 552 01 85
+41 (0)58 590 10 04
info@bs4y.ch
Luzernerstrasse 24
5712 Beinwil am see