(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Anzeigen und Lesen des Failoverclusterinstanz-Diagnoseprotokolls

Alle kritischen Fehler und Warnungsereignisse für die Ressourcen-DLL von SQL Server werden in das Windows-Ereignisprotokoll geschrieben. Ein Ausführungsprotokoll mit spezifischen Diagnoseinformationen zu SQL Server wird von der gespeicherten Systemprozedur sp_server_diagnostics (Transact-SQL) erfasst und in die Protokolldateien der SQL Server-Failoverclusterdiagnose (auch als SQLDIAG-Protokolle bezeichnet) geschrieben.

Empfehlungen

Die SQLDIAG-Protokolle werden standardmäßig in einem lokalen Ordner LOG des Verzeichnisses der SQL Server-Instanz gespeichert, z. B. unter C\Programme\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\LOG für den besitzenden Knoten der AlwaysOn-Failoverclusterinstanz (FCI). Die Größe jeder SQLDIAG-Protokolldatei wird auf 100 MB begrenzt. Zehn dieser Protokolldateien werden auf dem Computer gespeichert, bevor sie für neue Protokolle wiederverwendet werden.

Die Protokolle verwenden das Dateiformat für erweiterte Ereignisse. Mit der Systemfunktion sys.fn_xe_file_target_read_file können Sie die Dateien lesen, die durch erweiterte Ereignisse erstellt wurden. Pro Zeile wird ein Ereignis im XML-Format zurückgegeben. Fragen Sie die Systemsicht ab, um die XML-Daten als Resultset zu analysieren. Weitere Informationen finden Sie unter sys.fn_xe_file_target_read_file (Transact-SQL).

[Nach oben]

Sicherheit

Berechtigungen

Die VIEW SERVER STATE-Berechtigung ist erforderlich, um "fn_xe_file_target_read_file" auszuführen.

Öffnen von SQL Server Management Studio als Administrator

[Nach oben]

So zeigen Sie die Diagnoseprotokolldateien an:

  1. Wählen Sie im Menü Datei die Option Öffnen, Datei, und wählen Sie die anzuzeigende Diagnoseprotokolldatei an.

  2. Die Ereignisse werden als Zeilen im rechten Bereich angezeigt. Standardmäßig werden nur die Spalten name und timestamp angezeigt.

    Dadurch wird außerdem das Menü ExtendedEvents aktiviert.

  3. Rufen Sie zum Anzeigen weiterer Spalten das Menü ExtendedEvents auf, und wählen Sie Spalten auswählen.

    Ein Dialogfeld mit den verfügbaren Spalten wird angezeigt, in dem Sie die anzuzeigenden Spalten auswählen können.

  4. Sie können die Ereignisdaten mithilfe des Menüs ExtendedEvents und der Option Filter filtern und sortieren.

[Nach oben]

So zeigen Sie die Diagnoseprotokolldateien an:

Um alle Protokollelemente in der SQLDIAG-Protokolldatei anzuzeigen, verwenden Sie die folgende Abfrage:

SELECT
xml_data.value('(event/@name)[1]','varchar(max)') AS 'Name'
,xml_data.value('(event/@package)[1]','varchar(max)') AS 'Package'
,xml_data.value('(event/@timestamp)[1]','datetime') AS 'Time'
,xml_data.value('(event/data[@name=''state'']/value)[1]','int') AS 'State'
,xml_data.value('(event/data[@name=''state_desc'']/text)[1]','varchar(max)') AS 'State Description'
,xml_data.value('(event/data[@name=''failure_condition_level'']/value)[1]','int') AS 'Failure Conditions'
,xml_data.value('(event/data[@name=''node_name'']/value)[1]','varchar(max)') AS 'Node_Name'
,xml_data.value('(event/data[@name=''instancename'']/value)[1]','varchar(max)') AS 'Instance Name'
,xml_data.value('(event/data[@name=''creation time'']/value)[1]','datetime') AS 'Creation Time'
,xml_data.value('(event/data[@name=''component'']/value)[1]','varchar(max)') AS 'Component'
,xml_data.value('(event/data[@name=''data'']/value)[1]','varchar(max)') AS 'Data'
,xml_data.value('(event/data[@name=''info'']/value)[1]','varchar(max)') AS 'Info'
FROM
 ( SELECT object_name AS 'event'
  ,CONVERT(xml,event_data) AS 'xml_data'
  FROM sys.fn_xe_file_target_read_file('C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\SQLNODE1_MSSQLSERVER_SQLDIAG_0_129936003752530000.xel',NULL,NULL,NULL) 
) 
AS XEventData
ORDER BY Time; 
HinweisHinweis

Sie können die Ergebnisse nach bestimmten Komponenten oder Status filtern, indem Sie die WHERE-Klausel verwenden.

So konfigurieren Sie die Diagnoseprotokolleigenschaften

Hinweis Hinweis

Ein Beispiel für diese Prozedur finden Sie weiter unten in diesem Abschnitt unter Beispiel (Transact-SQL).

Mithilfe der DDL-Anweisung (Data Definition Language) ALTER SERVER CONFIGURATION können Sie die Protokollierung von Diagnosedaten starten bzw. beenden, die von der sp_server_diagnostics (Transact-SQL)-Prozedur erfasst wurden, und SQLDIAG-Protokollkonfigurationsparameter festlegen, wie z. B. die Anzahl der Protokolldateirollover, die Protokolldateigröße und den Dateispeicherort. Einzelheiten zur Syntax finden Sie unter Festlegen von Diagnoseprotokolloptionen.

Beispiele (Transact-SQL)

Festlegen von Diagnoseprotokolloptionen

Die Beispiele in diesem Abschnitt veranschaulichen, wie die Werte für die Diagnoseprotokolloption festgelegt werden.

A.Starten der Diagnoseprotokollierung

Im folgenden Beispiel wird die Protokollierung von Diagnosedaten gestartet.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

B.Beenden der Diagnoseprotokollierung

Im folgenden Beispiel wird die Protokollierung von Diagnosedaten beendet.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

C.Angeben des Speicherorts für die Diagnoseprotokolle

Im folgenden Beispiel wird der Speicherort für die Diagnoseprotokolle auf den angegebenen Dateipfad festgelegt.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';

D.Angeben der maximalen Größe jedes Diagnoseprotokolls

Im folgenden Beispiel wird die maximale Größe jedes Diagnoseprotokolls auf 10 Megabytes festgelegt.

ALTER SERVER CONFIGURATION 
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

[Nach oben]

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft