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

Sammeln Sie Leistungsdaten mit dem SQLDiag-Tool | Fehlerbehebung bei der SQL Server-Leistung -6

Hallo,

Ich werde in dieser Artikelserie weiterhin erläutern, wie Leistungsprobleme von SQL Server behoben werden können.

Fehlerbehebung bei der SQL Server-Leistung

Lesen Sie zuvor den vorherigen Artikel.

Fehlerbehebung bei der SQL Server-Leistung -5 Verwendung des SQL Server Profiler

Erfassen Sie Leistungsdaten mit dem SQLDiag-Tool

Es gibt verschiedene Tools, um die Langsamkeit und Probleme zu identifizieren, die in SQL Server-Datenbanken auftreten. Einige dieser Tools werden mit SQL Server geliefert, während einige der Tools extra installiert werden müssen. Diese Tools sind wie folgt.

  1. SQL Server Profiler
  2. Leistungsüberwachung ( Perfmon )
  3. SQLDIAG
  4. PSSDIAG
  5. RML-Dienstprogramme
  6. Leistungsanalyse von Protokollen (PAL)
  7. SQL-Nexus

Ich werde Leistungsdaten in einer Beispieldatenbank sammeln, die ich mit dem SQLDIAG-Tool erstellt habe. Nun, welche Leistungsdaten können wir mit SQLDIAG erfassen?

Mit SQLDIAG können Sie die folgenden Daten sammeln.

  1. TOP SQL nach CPU, Memory und IO
  2. Windows- und SQL Server-Zählerwerte (Datenträger, Speicher lesen/schreiben).
  3. SQL Server-Instanzkonfiguration.
  4. Windows-Ereignisprotokolle und SQL Server-Protokolle.

Lassen Sie uns nun eine Datenbank mit dem Namen TestDatabase erstellen und eine Tabelle mit dem Namen testtable on auf meinem lokalen Computer erstellen, in meiner Instanz mit dem Namen MYTESTINSTANCE. Ich werde Beispieltransaktionen in meiner TestDatabase-Datenbank erstellen.

Das Beispielskript der TestDatabase Datenbank und die TestTable Tabelle sind wie folgt.

use master
go
create database TestDatabase
go
use TestDatabase
create table testtable(
col1 int identity(1,1) not null,
col2 datetime null
)
use TestDatabase
alter table testtable add constraint DF_testtable_col2 default (getdate()) for col2
go





Wenn Sie dieses Skript erfolgreich ausführen, sollten die Datenbank mit dem Namen TestDatase und die Tabelle mit dem Namen testtable in der lokalen Instanz MYTESTINSTANCE wie folgt erstellt werden.

Erstellen Sie eine Parameterdatei namens Configuration.xml als Eingabe für das SQLDIAG-Tool, um die erforderlichen Leistungswerte zu lesen. In dieser Parameterdatei habe ich das Hinzufügen der oben genannten Parameter mit Pfeil wie folgt angegeben. Sie können das SQLDiag-Konfigurationstool herunterladen, indem Sie auf diesen Link klicken.

Ich werde diese Configuration.xml-Datei als Eingabe für das SQLDIAG-Tool ernennen, also verschiebe ich diese Datei unter C:\Program Files\Microsoft SQL Server\100\Tools\Binn.

Die Datei configuration.xml hat den gleichen Pfad wie das Tool SQLDIAG.exe wie folgt.

Jetzt werde ich mit dem SQLDIAG-Tool die Configuration.xml-Datei als Eingabe zuweisen und Leistungsdaten für die TestDatabase-Datenbank sammeln.

Öffnen Sie die Eingabeaufforderung und gehen Sie zu dem Pfad, in dem sich das SQLDIAG-Tool befindet.

Nachdem Sie zu dem Pfad gegangen sind, in dem sich das SQLDIAG-Pfadtool befindet, starten Sie den Prozess der Erfassung von Leistungsdaten für 15 Minuten, geben Sie die Datei „Configuration.xml“ als Eingabe und die Ausgabedatei wie folgt an D:\ SQL_DIAG_OUTPUT-Pfad.

SQLDIAG Code:

SQLdiag /I Configuration.xml /O "D:\SQL_DIAG_OUTPUT" /E +00:15:00

Wenn Sie den obigen Code ausführen, muss nach einer Weile angezeigt werden, dass der Prozess gestartet wurde. Die Datenerfassung wie folgt

Ich habe einige Beispieltransaktionen wie folgt ausgeführt, um sie in SQLDiag zu sehen.

Wenn Sie zum Pfad D:\ SQL_DIAG_OUTPUT gehen, wo Sie die Ausgabedatei wie folgt ausgeben, können Sie sehen, dass viele Ablaufverfolgungsdateien wie folgt erstellt wurden:

Wenn Sie die Eingabeaufforderung nach 15 Minuten öffnen, können Sie sehen, dass die Datenerfassung wie folgt abgeschlossen ist.

In meinem nächsten Artikel werde ich die Daten, die ich in diesem Artikel gesammelt habe, mit dem RML-Utility-Tool auslesen und aufwändige Abfragen und allgemeine Informationen über die Datenbank in einem Bericht anzeigen.

Möchten Sie Microsoft SQL Server DBA-Tutorials für Anfänger lernen, dann lesen Sie die folgenden Artikel.

SQL Server ( MSSQL DBA ) Database Tutorials for Beginners Database Administrators