Afficher et lire le journal de diagnostic de l'instance de cluster de basculement

S’applique à :SQL Server

Toutes les erreurs et tous les événements d'avertissements critiques pour la DLL de ressource SQL Server sont écrits dans le journal des événements Windows. Un journal en cours des informations de diagnostic spécifiques de SQL Server est capturé par la procédure stockée système sp_server_diagnostics (Transact-SQL) ; il est écrit dans les fichiers journaux de diagnostics du cluster de basculement de SQL Server (également appelés journaux SQLDIAG).

Avant de commencer

Nom, emplacement et format du fichier

Par défaut, les journaux SQLDIAG sont stockés dans un dossier LOG local du répertoire d’instance SQL Server, par exemple, « C\Program Files\Microsoft SQL Server\MSSQL13.<Nom_Instance>\MSSQL\LOG » du nœud propriétaire de l’instance de cluster de basculement (FCI) Always On. La taille maximale de chaque fichier journal SQLDIAG est fixée à 100 Mo. Dix fichiers journaux de ce type sont stockés sur l'ordinateur avant qu'ils ne soient recyclés pour les nouveaux journaux. Le nom de fichier est au format MACHINE_SQLINSTANCE_SQLDIAG_0_xxxxxxxxxxxxxxxxx.xel suivant, où la dernière partie « xxxxxxxx » est un nombre généré automatiquement. Par exemple, pour une instance par défaut, le nom de fichier est NODE1_MSSQLSERVER_SQLDIAG_0_133177967257760000.xel, tandis que pour une instance nommée, le nom est NODE1_SQL2019INST_SQLDIAG_0_133177967257760000.xel

Les journaux utilisent le format de fichier d'événements étendus. La fonction système sys.fn_xe_file_target_read_file peut être utilisée pour lire les fichiers créés par les événements étendus et les afficher sous la forme d’un jeu de résultats. Au format XML, un événement par ligne est retourné. Pour plus d’informations, consultez sys.fn_xe_file_target_read_file (Transact-SQL).

Sécurité

Autorisations

L’autorisation VIEW SERVER STATE est exigée pour exécuter fn_xe_file_target_read_file.

Ouvrez SQL Server Management Studio en tant qu'administrateur

Utiliser SQL Server Management Studio

Pour afficher les fichiers journaux de diagnostics :

  1. Dans le menu de Fichier , sélectionnez Ouvrir, puis Fichieret choisissez le fichier journal de diagnostics à afficher.

  2. Les événements sont affichés sous forme de lignes dans le volet droit. Par défaut, seules les colonnes nameet timestamp sont affichées.

    Cela permet également d'activer le menu ExtendedEvents .

  3. Pour afficher plus de colonnes, allez dans le menu de ExtendedEvents , puis sélectionnez Choisir les colonnes.

    Une boîte de dialogue dans laquelle vous pouvez sélectionner les colonnes à afficher s'ouvre.

  4. Vous pouvez filtrer et trier les données d'événement à l'aide du menu ExtendedEvents , en sélectionnant l'option Filtre .

Afficher les fichiers journaux de diagnostic avec Transact-SQL

Pour afficher les fichiers journaux de diagnostics :

Pour consulter tous les éléments de journal du fichier journal SQLDIAG, utilisez la requête suivante :

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\MSSQL13.MSSQLSERVER\MSSQL\Log\SQLNODE1_MSSQLSERVER_SQLDIAG_0_129936003752530000.xel',NULL,NULL,NULL)
 )
AS XEventData
ORDER BY Time;

Notes

Vous pouvez filtrer les résultats pour des composants spécifiques ou exécuter une déclaration à l'aide de la clause WHERE.

Configurer les propriétés du journal de diagnostic avec Transact-SQL

Pour configurer les propriétés du journal de diagnostics :

Notes

Pour obtenir un exemple de cette procédure, consultez Exemple (Transact-SQL)plus loin dans cette section.

En utilisant l’instruction DDL (Data Definition Language), ALTER SERVER CONFIGURATION, vous pouvez démarrer ou arrêter la journalisation des données de diagnostics capturées par la procédure sp_server_diagnostics (Transact-SQL) et définir les paramètres de configuration du journal SQLDIAG, tels que le nombre de substitutions du fichier journal, sa taille et son emplacement. Pour plus d'informations sur la syntaxe, consultez Setting diagnostic log options.

Exemples (Transact-SQL)

Définir les options du journal de diagnostics

Les exemples de cette section montrent comment définir les valeurs de l'option de journal de diagnostics.

R. Démarrer la journalisation des diagnostics

L'exemple suivant démarre la journalisation de données de diagnostics.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;
B. Arrêter la journalisation des diagnostics

L'exemple suivant met fin à la journalisation des données de diagnostics.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;
C. Spécifier l’emplacement des journaux de diagnostics

L'exemple suivant définit l'emplacement des journaux de diagnostics sur le chemin d'accès au fichier spécifié.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';
D. Spécifier la taille maximale de chaque journal de diagnostics

L'exemple suivant définit la taille maximale de chaque journal de diagnostics sur 10 mégaoctets.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;
E. Vérifiez si le journal des diagnostics d’instance de cluster de basculement est activé et la configuration actuelle.

L’exemple suivant utilise la vue DMV sys.dm_os_server_diagnostics_log_configurations pour vérifier la configuration actuelle

SELECT is_enabled, [path], max_size, max_files
FROM sys.dm_os_server_diagnostics_log_configurations;

Voir aussi