Afficher et lire le journal de diagnostic de l'instance de cluster de basculement
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 : Recommandations, sécurité
Pour afficher le journal de diagnostics, à l’aide de :SQL Server Management Studio, Transact-SQL
Pour configurer les paramètres du journal de diagnostics, à l’aide de :Transact-SQL
Avant de commencer
Recommandations
Par défaut, SQLDIAG est stocké sous un dossier LOG local du répertoire d’instance SQL Server, par exemple « C\Program Files\Microsoft SQL Server\MSSQL12.<InstanceName>\MSSQL\LOG' du nœud propriétaire de l’instance de cluster de basculement AlwaysOn (FCI). La taille 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.
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. Au format XML, un événement par ligne est retourné. Interrogez la vue système pour analyser les données XML définies comme ensemble de résultats. 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
Utilisation de SQL Server Management Studio
Pour afficher les fichiers journaux de diagnostics :
Dans le menu de Fichier , sélectionnez Ouvrir, puis Fichieret choisissez le fichier journal de diagnostics à afficher.
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 .
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.
Vous pouvez filtrer et trier les données d'événement à l'aide du menu ExtendedEvents , en sélectionnant l'option Filtre .
Utilisation de 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\MSSQL12.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.
Utilisation de Transact-SQL
Pour configurer les propriétés du journal de diagnostics
Remarque
Pour obtenir un exemple de cette procédure, consultez Exemple (Transact-SQL)plus loin dans cette section.
À l’aide de l’instruction DDL (Data Definition Language), ALTER SERVER CONFIGURATION
vous pouvez démarrer ou arrêter la journalisation des données de diagnostic capturées par la procédure sp_server_diagnostics (Transact-SQL) et définir des paramètres de configuration du journal SQLDIAG, tels que le nombre de substitutions de fichiers journaux, la taille du fichier journal et l’emplacement du fichier. Pour plus d'informations sur la syntaxe, consultez Setting diagnostic log options.
Exemples (Transact-SQL)
Setting diagnostic log options
Les exemples de cette section montrent comment définir les valeurs de l'option de journal de diagnostics.
R. Début de la journalisation des diagnostics
L'exemple suivant démarre la journalisation de données de diagnostics.
ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;
B. Fin de 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écification de 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écification de 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;