Visualizzazione e lettura del log di diagnostica dell'istanza del cluster di failoverView and Read Failover Cluster Instance Diagnostics Log

Tutti gli errori critici e gli eventi di avviso relativi alla DLL risorse SQL Server vengono scritti nel registro eventi di Windows.All critical errors and warning events for the SQL Server Resource DLL are written to the Windows event log. Un log in esecuzione relativo a informazioni di diagnostica specifiche di SQL Server viene acquisito dalla stored procedure di sistema sp_server_diagnostics (Transact-SQL) e viene scritto nei file di log di diagnostica del cluster di failover di SQL Server, noti anche come log SQLDIAG.A running log of the diagnostic information specific to SQL Server is captured by the sp_server_diagnostics (Transact-SQL) system stored procedure and is written to the SQL Server failover cluster diagnostics (also known as the SQLDIAG logs) log files.

Prima di iniziare Before You Begin

Indicazioni Recommendations

Per impostazione predefinita, i file SQLDIAG vengono archiviati in una cartella LOG locale della directory dell'istanza di SQL Server, ad esempio "C\Programmi\Microsoft SQL Server\MSSQL13.<NomeIstanza>\MSSQL\LOG", del nodo proprietario dell'istanza del cluster di failover Always On.By default, the SQLDIAG are stored under a local LOG folder of the SQL Server instance directory, for example, 'C\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\LOG' of the owning node of the Always On Failover Cluster Instance (FCI). La dimensione di ogni file di log SQLDIAG è pari a 100 MB.The size of each SQLDIAG log file is fixed at 100 MB. Successivamente, tali file di log vengono archiviati nel computer prima di essere riciclati per i nuovi log.Ten such log files are stored on the computer before they are recycled for new logs.

Nei log viene utilizzato il formato di file degli eventi estesi.The logs use the extended events file format. La funzione di sistema sys.fn_xe_file_target_read_file può essere usata per leggere i file creati dagli eventi estesi.The sys.fn_xe_file_target_read_file system function can be used to read the files that are created by Extended Events. Viene restituito un evento per riga in formato XML.One event, in XML format, is returned per row. Eseguire una query sulla vista di sistema per analizzare i dati XML come set di risultati.Query the system view to parse the XML data as a result-set. Per altre informazioni, vedere sys.fn_xe_file_target_read_file (Transact-SQL).For more information, see sys.fn_xe_file_target_read_file (Transact-SQL).

Sicurezza Security

Autorizzazioni Permissions

L'autorizzazione VIEW SERVER STATE è necessaria per eseguire fn_xe_file_target_read_file.VIEW SERVER STATE permission is needed to run fn_xe_file_target_read_file.

Aprire SQL Server Management Studio come amministratore.Open SQL Server Management Studio as Administrator

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per visualizzare i file di log di diagnostica:To view the Diagnostic log files:

  1. Scegliere Apri dal menu File, selezionare File, quindi scegliere il file di log di diagnostica che si desidera visualizzare.From the File menu, select Open, File, and choose the diagnostic log file you want to view.

  2. Gli eventi vengono visualizzati come righe nel riquadro destro e per impostazione predefinita namee timestamp sono le uniche due colonne visualizzate.The events are displayed as rows in the right pane, and by default name, and timestamp are the only two columns displayed.

    Viene inoltre attivato il menu ExtendedEvents .This also activates the ExtendedEvents menu.

  3. Per visualizzare più colonne, passare al menu ExtendedEvents e selezionare Scegli colonne.To see more columns, go the ExtendedEvents menu, and select Choose Columns.

    Verrà visualizzata una finestra di dialogo con le colonne disponibili in cui è possibile selezionare le colonne da visualizzare.A dialog box opens with the available columns allowing you to select the columns for display.

  4. È possibile filtrare e ordinare i dati degli eventi utilizzando il menu ExtendedEvents e selezionando l'opzione Filtro .You can filter, and sort the event data using the ExtendedEvents menu and selecting the Filter option.

Utilizzo di Transact-SQL Using Transact-SQL

Per visualizzare i file di log di diagnostica:To view the Diagnostic log files:

Per visualizzare tutte le voci di log nel file di log SQLDIAG, utilizzare la query seguente:To view all the log items in the SQLDIAG log file, use the following query:

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;  
Nota

È possibile filtrare i risultati in base a stati o componenti specifici utilizzando la clausola WHERE.You can filter the results for specific components or state using the WHERE clause.

Utilizzo di Transact-SQL Using Transact-SQL

Per configurare le proprietà del log di diagnosticaTo configure the Diagnostic Log Properties

Nota

Per un esempio di questa procedura, vedere Esempio (Transact-SQL), più avanti in questa sezione.For an example of this procedure, see Example (Transact-SQL), later in this section.

L'istruzione DDL (Data Definition Language), ALTER SERVER CONFIGURATION, consente di avviare o arrestare la registrazione dei dati di diagnostica acquisiti dalla stored procedure sp_server_diagnostics (Transact-SQL) e di impostare i parametri di configurazione del log SQLDIAG, come il conteggio del rollover dei file di log, le dimensioni dei file di log e la posizione dei file.Using the Data Definition Language (DDL) statement, ALTER SERVER CONFIGURATION, you can start or stop logging diagnostic data captured by the sp_server_diagnostics (Transact-SQL) procedure, and set SQLDIAG log configuration parameters such as the log file rollover count, log file size, and file location. Per dettagli sulla sintassi, vedere Setting diagnostic log options.For syntax details, see Setting diagnostic log options.

Esempi (Transact-SQL) Examples (Transact-SQL)

Setting diagnostic log options Setting diagnostic log options

Negli esempi inclusi in questa sezione viene illustrato come impostare i valori per l'opzione del log di diagnostica.The examples in this section show how to set the values for the diagnostic log option.

A.A. Avvio della registrazione dei dati di diagnosticaStarting diagnostic logging

Nell'esempio seguente viene avviata la registrazione dei dati di diagnostica.The following example starts the logging of diagnostic data.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;  
B.B. Arresto della registrazione dei dati di diagnosticaStopping diagnostic logging

Nell'esempio seguente viene arrestata la registrazione dei dati di diagnostica.The following example stops the logging of diagnostic data.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;  
C.C. Definizione della posizione dei log di diagnosticaSpecifying the location of the diagnostic logs

Nell'esempio seguente viene impostata la posizione dei log di diagnostica sul percorso di file specificato.The following example sets the location of the diagnostic logs to the specified file path.

ALTER SERVER CONFIGURATION  
SET DIAGNOSTICS LOG PATH = 'C:\logs';  
D.D. Definizione della dimensione massima di ogni log di diagnosticaSpecifying the maximum size of each diagnostic log

Nell'esempio seguente viene impostata su 10 megabyte la dimensione massima di ogni log di diagnostica.The following example set the maximum size of each diagnostic log to 10 megabytes.

ALTER SERVER CONFIGURATION   
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;  

Vedere ancheSee Also

Criteri di failover per istanze del cluster di failoverFailover Policy for Failover Cluster Instances