Yük Devretme Kümesi Örneği Tanılama Günlüğünü Görüntüleme ve Okuma

Şunlar için geçerlidir: SQL Server

SQL Server Kaynak DLL'sinin tüm kritik hataları ve uyarı olayları Windows olay günlüğüne yazılır. SQL Server'a özgü tanılama bilgilerinin sürekli tutulan günlüğü, sp_server_diagnostics (Transact-SQL) sistem saklı yordamı tarafından yakalanır ve SQL Server yük devretme kümesi tanılama günlük dosyalarına (diğer adıyla SQLDIAG günlükleri) yazılır.

Dosya adı, konum ve biçim

Varsayılan olarak, SQLDIAG SQL Server örneği dizininin yerel LOG klasöründe depolanır; örneğin, 'C\Program Files\Microsoft SQL Server\MSSQL13.<Always On Yük Devretme Kümesi Örneğinin (FCI) sahibi olan düğümün InstanceName>\MSSQL\LOG'. Her SQLDIAG günlük dosyasının en büyük boyutu 100 MB olarak sabittir. Bu tür on günlük dosyası, yeni günlükler için geri dönüştürülmeden önce bilgisayarda depolanır. Dosya adı, 'xxxx' son bölümünün otomatik olarak oluşturulan bir sayı olduğu aşağıdaki biçimdedir MACHINE_SQLINSTANCE_SQLDIAG_0_xxxxxxxxxxxxxxxxx.xel . Örneğin, varsayılan bir örnek için dosya adı NODE1_MSSQLSERVER_SQLDIAG_0_133177967257760000.xel olurdu ve adlandırılmış bir örnek için ad NODE1_SQL2019INST_SQLDIAG_0_133177967257760000.xel olurdu.

Günlükler genişletilmiş olaylar dosya biçimini kullanır. Sistem işlevi, sys.fn_xe_file_target_read_file Genişletilmiş Olaylar tarafından oluşturulan dosyaları okumak ve bunları sonuç kümesi olarak görüntülemek için kullanılabilir. XML biçiminde bir olay satır başına döndürülür. Daha fazla bilgi için bkz. sys.fn_xe_file_target_read_file (Transact-SQL).

Permissions

VIEW fn_xe_file_target_read_file çalıştırmak için SUNUCU DURUMU izni gerekir.

SQL Server Management Studio Yönetici olarak açma

SQL Server Management Studio'yu kullanma

Tanılama günlük dosyalarını görüntülemek için:

  1. Dosya menüsünde , Dosya'yı seçin ve görüntülemek istediğiniz tanılama günlüğü dosyasını seçin.

  2. Olaylar sağ bölmede satırlar olarak görüntülenir ve varsayılan ad olarak ve zaman damgası yalnızca iki sütun görüntülenir.

    Bu, ExtendedEvents menüsünü de etkinleştirir.

  3. Daha fazla sütun görmek için ExtendedEvents menüsüne gidin ve Sütunları Seç'i seçin.

    Kullanılabilir sütunları gösteren ve görüntülenecek sütunları seçmenizi sağlayan bir iletişim kutusu açılır.

  4. ExtendedEvents menüsünü kullanarak ve Filtrele seçeneğini belirleyerek olay verilerini filtreleyebilir ve sıralayabilirsiniz.

Tanılama günlük dosyalarını Transact-SQL ile görüntüleme

Tanılama günlük dosyalarını görüntülemek için:

SQLDIAG günlük dosyasındaki tüm günlük öğelerini görüntülemek için aşağıdaki sorguyu kullanın:

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;

Note

WHERE yan tümcesini kullanarak belirli bileşenler veya durum için sonuçları filtreleyebilirsiniz.

tanılama günlüğü özelliklerini Transact-SQL ile yapılandırma

Tanılama günlüğü özelliklerini yapılandırmak için:

Note

Bu yordamın bir örneği için, bu bölümün devamında yer alan Örnek (Transact-SQL) bölümüne bakın.

Veri Tanımı Dili (DDL) deyimini kullanarak, ALTER SERVER CONFIGURATIONsp_server_diagnostics (Transact-SQL) yordamı tarafından yakalanan tanılama verilerini günlüğe kaydetmeyi başlatabilir veya durdurabilir ve günlük dosyası geçiş sayısı, günlük dosyası boyutu ve dosya konumu gibi SQLDIAG günlük yapılandırma parametrelerini ayarlayabilirsiniz. Söz dizimi ayrıntıları için bkz. Tanılama günlüğü seçeneklerini ayarlama.

Örnekler

Bu bölümdeki örneklerde tanılama günlüğü seçeneği için değerlerin nasıl ayarlanacağı gösterilmektedir.

A. Tanılama günlüğünü başlat

Aşağıdaki örnek, tanılama verilerinin günlüğe kaydedilmesini başlatır.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

B. Tanılama günlüğünü durdur

Aşağıdaki örnek tanılama verilerinin günlüğe kaydedilmesini durdurur.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

C. Tanılama günlüklerinin konumunu belirtme

Aşağıdaki örnek, tanılama günlüklerinin konumunu belirtilen dosya yoluna ayarlar.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';

D. Her tanılama günlüğünün maksimum boyutunu belirtin

Aşağıdaki örnek, her tanılama günlüğünün en büyük boyutunu 10 megabayt olarak ayarlar.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

E. Yük Devretme Kümesi Örneği Tanılama Günlüğünün etkinleştirilip etkinleştirilmediğini ve geçerli yapılandırmayı denetleyin.

Aşağıdaki örnek, mevcut yapılandırmayı denetlemek için sys.dm_os_server_diagnostics_log_configurations dmv'sini kullanır.

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