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

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

  • Перед началом работы выполните следующие действия.  Рекомендации, Безопасность

  • Просмотр журнала диагностики с помощью следующего:  SQL Server Management Studio, Transact-SQL

  • Настройка параметров журнала диагностики с помощью следующего: Transact-SQL

Перед началом работы

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

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

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

[Top]

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

Разрешения

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

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

[Top]

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

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

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

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

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

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

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

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

[Top]

Использование 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\MSSQL11.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_diagnostics (Transact-SQL), а также задавать такие параметры конфигурации журналов SQLDIAG, как количество переключений файлов журнала, размер файлов журнала и расположение файлов. Дополнительные сведения о синтаксисе см. в разделе Setting diagnostic log options.

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

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

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

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

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

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;

[Top]

См. также

Основные понятия

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