Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Semua kesalahan penting dan peristiwa peringatan untuk DLL Sumber Daya SQL Server ditulis ke log peristiwa Windows. Catatan log yang terus diperbarui berisi informasi diagnostik khusus untuk SQL Server dicatat oleh prosedur tersimpan sistem sp_server_diagnostics (Transact-SQL) dan ditulis ke file log diagnostik kluster failover SQL Server (juga dikenal sebagai log SQLDIAG).
Sebelum Anda memulai:Nama file, lokasi, dan format, Keamanan
Untuk Melihat Log Diagnostik, menggunakan:SQL Server Management Studio, Transact-SQL
Untuk Mengonfigurasi pengaturan Log Diagnostik, gunakan:Transact-SQL
Sebelum Anda mulai
Nama file, lokasi, dan format
Secara bawaan, SQLDIAG disimpan dalam folder LOG lokal di direktori instans SQL Server, misalnya, 'C\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\LOG' pada simpul pemilik Always On Failover Cluster Instance (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 tersebut menggunakan format file Extended Events. 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
VIEW Izin 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:
Dari menu File, pilih Buka, File, dan pilih file log diagnostik yang ingin Anda lihat.
Peristiwa ditampilkan sebagai baris di panel kanan, dan secara bawaan nama dan stempel waktu adalah dua kolom yang ditampilkan.
Ini juga mengaktifkan menu ExtendedEvents .
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.
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.
Menggunakan pernyataan Bahasa Definisi Data (DDL), ALTER SERVER CONFIGURATION, 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.
A. 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 untuk Failover Cluster Instance diaktifkan dan konfigurasi saat ininya.
Contoh berikut menggunakan DMV sys.dm_os_server_diagnostics_log_configurations untuk memeriksa konfigurasi saat ini
SELECT is_enabled, [path], max_size, max_files
FROM sys.dm_os_server_diagnostics_log_configurations;