Просмотр и чтение журнала диагностики для экземпляра отказоустойчивого кластера
Применимо к:SQL Server
Все критические ошибки и события предупреждений для библиотеки ресурсов 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\MSSQL13.<имя_экземпляра>\MSSQL\LOG, на том узле, где выполняется экземпляр отказоустойчивого кластера (FCI) групп доступности Always On. Максимальный размер каждого файла журнала SQLDIAG исправлен в 100 МБ. На компьютере сохраняются десять таких файлов журнала, после чего они освобождаются для новых журналов. Имя файла имеет следующий формат MACHINE_SQLINSTANCE_SQLDIAG_0_xxxxxxxxxxxxxxxxx.xel
, где последняя часть xxxxxx является автоматически созданным номером. Например, для экземпляра по умолчанию имя файла будет NODE1_MSSQLSERVER_SQLDIAG_0_133177967257760000.xel
и для именованного экземпляра имя будет NODE1_SQL2019INST_SQLDIAG_0_133177967257760000.xel
В журналах используется формат файлов расширенных событий. Системная sys.fn_xe_file_target_read_file
функция может использоваться для чтения файлов, созданных расширенными событиями, и отображения их в виде результирующих наборов. Возвращается одно событие в каждой строке в формате 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
Просмотр файлов журнала диагностики:
В меню Файл выберите Открыть, Файли выберите файл журнала диагностики для просмотра.
События отображаются в виде строк в правой панели, причем по умолчанию показаны только два столбца, nameи timestamp .
Это также приводит к активации меню ExtendedEvents .
Для отображения большего числа столбцов перейдите в меню ExtendedEvents и укажите Выбрать столбцы.
Откроется диалоговое окно с доступными столбцами, позволяя выбрать столбцы для отображения.
Можно фильтровать и сортировать данные событий, используя меню 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\MSSQL13.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)
Настройка параметров журнала диагностики
В примерах этого раздела показана установка значений параметра журнала диагностики.
А. Запуск ведения журнала диагностики
В следующем примере запускается запись в журнал диагностических данных.
ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;
B. Остановка ведения журнала диагностики
В следующем примере запись в журнал диагностических данных прекращается.
ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;
C. Укажите расположение журналов диагностики
В следующем примере для журналов диагностических данных задается расположение по указанному пути к файлам.
ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';
D. Укажите максимальный размер каждого журнала диагностики
В следующем примере задан максимальный размер каждого из журналов диагностики, равный 10 мегабайтам.
ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;
Е. Проверьте, включен ли журнал диагностики экземпляра отказоустойчивого кластера и текущая конфигурация.
В следующем примере для проверка текущей конфигурации используется sys.dm_os_server_диагностика_log_configurations dmv
SELECT is_enabled, [path], max_size, max_files
FROM sys.dm_os_server_diagnostics_log_configurations;
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по