LEISTUNGSÜBERWACHUNG IN ECHTZEIT
SQL-Server-Verbindungsablauf
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.
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-Tuning Übersicht vollständige Datenbank perf_querystore
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.
Das Skript WhoTheFuckIsWrong.sql ist ein leistungsfähiges Tool zur Analyse der SQL Server-Leistung.