Просмотр и чтение журнала диагностики для экземпляра отказоустойчивого кластера

Все критические ошибки и события предупреждений для библиотеки ресурсов SQL Server записываются в журнал событий Windows. Диагностические сведения, связанные с SQL Server и записываемые в журнал, перехватываются хранимой процедурой sp_server_diagnostics (Transact-SQL) и записываются в файлы журнала диагностики отказоустойчивого кластера SQL Server (также называемые журналами SQLDIAG).

Перед началом

Рекомендации

По умолчанию SQLDIAG хранится в локальной папке LOG каталога экземпляра SQL Server, например "C\Program Files\Microsoft SQL Server\MSSQL12.<InstanceName>\MSSQL\LOG' узла, принадлежащих экземпляру отказоустойчивого кластера AlwaysOn (FCI). Размер каждого файла журнала SQLDIAG ограничен 100 МБ. На компьютере сохраняются десять таких файлов журнала, после чего они освобождаются для новых журналов.

В журналах используется формат файлов расширенных событий. Для чтения файлов, созданных расширенными событиями, можно использовать системную функцию sys.fn_xe_file_target_read_file . Возвращается одно событие в каждой строке в формате XML. Выполните запрос к системному представлению для синтаксического анализа XML-данных в виде результирующего набора. Для получения дополнительной информации см. sys.fn_xe_file_target_read_file (Transact-SQL).

Безопасность

Разрешения

Для запуска fn_xe_file_target_read_fileтребуется разрешение VIEW SERVER STATE.

Откройте среду SQL Server Management Studio в качестве администратора

Использование среды SQL Server Management Studio

Просмотр файлов журнала диагностики:

  1. В меню Файл выберите Открыть, Файли выберите файл журнала диагностики для просмотра.

  2. События отображаются в виде строк в правой панели, причем по умолчанию показаны только два столбца, nameи timestamp .

    Это также приводит к активации меню ExtendedEvents .

  3. Для отображения большего числа столбцов перейдите в меню ExtendedEvents и укажите Выбрать столбцы.

    Откроется диалоговое окно с доступными столбцами, позволяя выбрать столбцы для отображения.

  4. Можно фильтровать и сортировать данные событий, используя меню ExtendedEvents и выбирая параметр Фильтр .

Использование Transact-SQL

Просмотр файлов журнала диагностики:

Для просмотра всех записей в файле журнала SQLDIAG используйте следующий запрос.

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;  
  

Примечание.

Можно отфильтровать результаты для определенных компонентов или состояний с помощью предложения WHERE.

Использование Transact-SQL

Настройка свойств журнала диагностики

Примечание.

Пример этой процедуры см. в подразделе Примеры (Transact-SQL)далее в этом разделе.

С помощью инструкции языка определения данных (DDL) можно запустить или остановить ведение журнала диагностических данных, ALTER SERVER CONFIGURATIONзахваченных процедурой sp_server_диагностика (Transact-SQL), а также задать параметры конфигурации журнала SQLDIAG, такие как счетчик отката файла журнала, размер файла журнала и расположение файла. Дополнительные сведения о синтаксисе см. в разделе Setting diagnostic log options.

Примеры (Transact-SQL)

Настройка параметров журнала диагностики

В примерах этого раздела показана установка значений параметра журнала диагностики.

А. Запуск регистрации диагностических данных в журнале

В следующем примере запускается запись в журнал диагностических данных.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;  
В. Останов регистрации диагностических данных в журнале

В следующем примере запись в журнал диагностических данных прекращается.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;  
В. Задание расположения журналов диагностических данных

В следующем примере для журналов диагностических данных задается расположение по указанному пути к файлам.

ALTER SERVER CONFIGURATION  
SET DIAGNOSTICS LOG PATH = 'C:\logs';  
Д. Задание максимального размера каждого из журналов диагностики

В следующем примере задан максимальный размер каждого из журналов диагностики, равный 10 мегабайтам.

ALTER SERVER CONFIGURATION   
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;  

См. также

Политика отработки отказа для экземпляров отказоустойчивого кластера