Melihat dan Membaca Log Diagnostik Instans Kluster Failover

Berlaku untuk:SQL Server

Semua kesalahan penting dan peristiwa peringatan untuk DLL Sumber Daya SQL Server ditulis ke log peristiwa Windows. Log informasi diagnostik yang berjalan khusus untuk SQL Server diambil oleh prosedur tersimpan sistem sp_server_diagnostics (Transact-SQL) dan ditulis ke diagnostik kluster failover SQL Server (juga dikenal sebagai file log log SQLDIAG ).

Sebelum Anda mulai

Nama file, lokasi, dan format

Secara default, SQLDIAG disimpan di bawah folder LOG lokal direktori instans SQL Server, misalnya, 'C\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\LOG' dari simpul pemilik Instans Kluster Failover AlwaysOn (FCI). Ukuran maksimum setiap file log SQLDIAG diperbaiki pada 100 MB. Sepuluh file log tersebut disimpan di komputer sebelum didaur ulang untuk log baru. Nama file adalah format MACHINE_SQLINSTANCE_SQLDIAG_0_xxxxxxxxxxxxxxxxx.xel berikut di mana bagian terakhir 'xxxxxxxx' adalah angka yang dihasilkan secara otomatis. Misalnya untuk instans default nama file adalah NODE1_MSSQLSERVER_SQLDIAG_0_133177967257760000.xel dan untuk instans bernama, nama tersebut akan menjadi NODE1_SQL2019INST_SQLDIAG_0_133177967257760000.xel

Log menggunakan format file peristiwa yang diperluas. Fungsi sys.fn_xe_file_target_read_file sistem dapat digunakan untuk membaca file yang dibuat oleh Extended Events dan menampilkannya sebagai tataan hasil. Satu peristiwa, dalam format XML, dikembalikan per baris. Untuk informasi selengkapnya, lihat sys.fn_xe_file_target_read_file (Transact-SQL).

Keamanan

Izin

Izin TAMPILKAN STATUS SERVER diperlukan untuk menjalankan fn_xe_file_target_read_file.

Buka SQL Server Management Studio sebagai Administrator

Menggunakan SQL Server Management Studio

Untuk melihat file log Diagnostik:

  1. Dari menu File, pilih Buka, File, dan pilih file log diagnostik yang ingin Anda lihat.

  2. Peristiwa ditampilkan sebagai baris di panel kanan, dan secara default, dan tanda waktu adalah satu-satunya dua kolom yang ditampilkan.

    Ini juga mengaktifkan menu ExtendedEvents .

  3. Untuk melihat kolom lainnya, buka menu ExtendedEvents , dan pilih Pilih Kolom.

    Kotak dialog terbuka dengan kolom yang tersedia yang memungkinkan Anda memilih kolom untuk ditampilkan.

  4. Anda dapat memfilter, dan mengurutkan data peristiwa menggunakan menu ExtendedEvents dan memilih opsi Filter .

Menampilkan file log diagnostik dengan Transact-SQL

Untuk melihat file log Diagnostik:

Untuk menampilkan semua item log dalam file log SQLDIAG, gunakan kueri berikut:

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;

Catatan

Anda dapat memfilter hasil untuk komponen atau status tertentu menggunakan klausa WHERE.

Mengonfigurasi Properti Log Diagnostik dengan Transact-SQL

Untuk mengonfigurasi properti log Diagnostik:

Catatan

Untuk contoh prosedur ini, lihat Contoh (Transact-SQL), nanti di bagian ini.

Dengan menggunakan pernyataan Bahasa Definisi Data (DDL), KONFIGURASI ALTER SERVER, Anda dapat memulai atau menghentikan pengelogan data diagnostik yang diambil oleh prosedur sp_server_diagnostics (Transact-SQL), dan mengatur parameter konfigurasi log SQLDIAG seperti jumlah rollover file log, ukuran file log, dan lokasi file. Untuk detail sintaks, lihat Mengatur opsi log diagnostik.

Contoh (Transact-SQL)

Mengatur opsi log diagnostik

Contoh di bagian ini menunjukkan cara mengatur nilai untuk opsi log diagnostik.

J. Mulai pembuatan log diagnostik

Contoh berikut memulai pengelogan data diagnostik.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;
B. Menghentikan pembuatan log diagnostik

Contoh berikut menghentikan pengelogan data diagnostik.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;
C. Tentukan lokasi log diagnostik

Contoh berikut mengatur lokasi log diagnostik ke jalur file yang ditentukan.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';
D. Tentukan ukuran maksimum setiap log diagnostik

Contoh berikut mengatur ukuran maksimum setiap log diagnostik menjadi 10 megabyte.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;
E. Periksa apakah Log Diagnostik Instans Kluster Failover diaktifkan dan konfigurasi saat ini.

Contoh berikut menggunakan sys.dm_os_server_diagnostics_log_configurations dmv untuk memeriksa konfigurasi saat ini

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

Lihat juga