Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: SQL Server 2016 (13.x) и более поздним версиям
Azure SQL Managed Instance
Сведения о том, как использовать расширенные события для мониторинга операций, относящихся к службам машинного обучения SQL Server, панели запуска SQL Server и внешним скриптам заданий Python или R, а также устранять связанные с такими операциями неполадки.
Расширенные события для служб машинного обучения SQL Server
Чтобы просмотреть список событий, связанных со службами машинного обучения SQL Server, выполните следующий запрос в SQL Server Management Studio (SSMS),расширение MSSQL для Visual Studio Code, sqlcmd или любимое средство запросов T-SQL.
SELECT o.name AS event_name, o.description
FROM sys.dm_xe_objects o
JOIN sys.dm_xe_packages p
ON o.package_guid = p.guid
WHERE o.object_type = 'event'
AND p.name = 'SQLSatellite';
Дополнительные сведения об использовании расширенных событий см. в статье Средства расширенных событий.
Дополнительные события, относящиеся к службам машинного обучения
Дополнительные расширенные события доступны для компонентов, связанных со службами SQL Server Машинное обучение Services, такими как панель запуска SQL Server и BXLServer, а также вспомогательный процесс, который запускает среду выполнения Python или R. Такие дополнительные расширенные события вызываются из внешних процессов и, соответственно, должны записываться внешней служебной программой.
Дополнительные сведения см. в разделе Сбор событий из внешних процессов.
Таблица расширенных событий
| Мероприятие | Описание | Основание |
|---|---|---|
| connection_accept | Происходит при принятии нового подключения. Это событие регистрирует все попытки подключения. | |
| failed_launching | Сбой при запуске. | Указывает на ошибку. |
| satellite_abort_connection | Прерывание записи подключения. | |
| satellite_abort_received | Возникает при получении сообщения о прерывании по вспомогательному соединению. | |
| satellite_abort_sent | Возникает при отправке сообщения о прерывании по вспомогательному соединению. | |
| satellite_authentication_completion | Возникает при завершении проверки подлинности для подключения по протоколу TCP или с помощью канала Namedpipe. | |
| satellite_authorization_completion | Возникает при завершении авторизации для подключения по протоколу TCP или с помощью канала Namedpipe. | |
| satellite_cleanup | Возникает, если вспомогательное подключение вызывает очистку. | Активируется только внешним процессом. См. инструкции по сбору событий из внешних процессов. |
| satellite_data_chunk_sent | Возникает при завершении отправки одного блока данных по вспомогательному соединению. | При отправке фрагмента данных событие сообщает число строк, столбцов, использованных пакетов SNI и затраченное время в миллисекундах. Эти сведения помогут вам понять, сколько времени потрачено при передаче различных типов данных и сколько пакетов использовано. |
| satellite_data_receive_completion | Возникает при получении необходимых данных по запросу через вспомогательное соединение. | Активируется только внешним процессом. См. инструкции по сбору событий из внешних процессов. |
| satellite_data_send_completion | Возникает при отправке необходимых данных для сеанса через вспомогательное соединение. | |
| satellite_data_send_start | Вызывается при запуске передачи данных | (непосредственно перед отправкой первого блока данных). |
| satellite_error | Используется для трассировки ошибок вспомогательного соединения SQL. | |
| satellite_invalid_sized_message | Недопустимый размер сообщения. | |
| satellite_message_coalesced | Используется для трассировки сообщений, объединяющихся на сетевом уровне. | |
| satellite_message_ring_buffer_record | Запись в кольцевом буфере сообщений. | |
| satellite_message_summary | Сводные сведения об обмене сообщениями. | |
| satellite_message_version_mismatch | Поля версии сообщения не совпадают. | |
| satellite_messaging | Используется для трассировки событий при обмене сообщениями (привязка, отмена привязки и т. д.). | |
| satellite_partial_message | Используется для трассировки неполных сообщений на сетевом уровне. | |
| satellite_schema_received | Возникает, если SQL получает сообщение схемы и выполняет его чтение. | |
| satellite_schema_sent | Возникает при отправке сообщения схемы через вспомогательное соединение. | Активируется только внешним процессом. См. инструкции по сбору событий из внешних процессов. |
| satellite_service_start_posted | Возникает при публикации сообщения о запуске службы на панели запуска. | Это событие содержит идентификатор для нового сеанса и указывает панели запуска на запуск внешнего процесса. |
| satellite_unexpected_message_received | Возникает при получении непредвиденного сообщения. | Указывает на ошибку. |
| stack_trace | Возникает при запросе дампа памяти процесса. | Указывает на ошибку. |
| trace_event | Используется для отслеживания. | Эти события могут содержать сообщения о трассировке SQL Server, панели запуска и внешних процессов. К ним относится вывод в stdout и stderr из кода R. |
| launchpad_launch_start | Возникает при запуске вспомогательного соединения на панели запуска. | Активируется только на панели запуска. См. инструкции по сбору событий из launchpad.exe. |
| launchpad_resume_sent | Возникает при запуске вспомогательного соединения и отправке сообщения о возобновлении на SQL Server с панели запуска. | Активируется только на панели запуска. См. инструкции по сбору событий из launchpad.exe. |
| satellite_data_chunk_sent | Возникает при завершении отправки одного блока данных по вспомогательному соединению. | Содержит сведения о количестве столбцов, строк, пакетов и продолжительности отправки блока данных. |
| satellite_sessionId_mismatch | Непредвиденный идентификатор сеанса сообщения. |
Сбор событий из внешних процессов
Службы машинного обучения SQL Server запускают некоторые службы, которые выполняются вне процесса SQL Server. Чтобы записывать события, связанные с этими внешними процессами, необходимо создать файл конфигурации трассировки событий и поместить его в тот же каталог, в котором находится исполняемый файл для процесса.
Внимание
Начиная с версии SQL Server 2019 механизм изоляции изменился. Поэтому необходимо предоставить соответствующие разрешения для каталога, в котором хранится файл конфигурации трассировки событий. Дополнительные сведения о настройке этих разрешений см. в разделе "Разрешения файлов" в SQL Server 2019 в Windows: изменения изоляции для служб Машинное обучение.
Панель запуска SQL Server
Чтобы фиксировать события, связанные с панелью запуска, поместите файл конфигурации (XML-файл) в каталог Binn экземпляра SQL Server. При установке по умолчанию это следующий каталог:
C:\Program Files\Microsoft SQL Server\MSSQL_version_number.MSSQLSERVER\MSSQL\Binn.BXLServer — это вспомогательный процесс, который поддерживает возможность расширения SQL с помощью внешних языков скриптов, таких как R и Python. Для каждого экземпляра внешнего языка запускается отдельный экземпляр BxlServer.
Чтобы записывать события, связанные с BXLServer, поместите файл конфигурации (XML-файл) в установочный каталог R или Python. При установке по умолчанию это следующий каталог:
R:
C:\Program Files\Microsoft SQL Server\MSSQL_version_number.MSSQLSERVER\R_SERVICES\library\RevoScaleR\rxLibs\x64.Python:
C:\Program Files\Microsoft SQL Server\MSSQL_version_number.MSSQLSERVER\PYTHON_SERVICES\Lib\site-packages\revoscalepy\rxLibs.
Имена файла конфигурации и исполняемого файла должны совпадать и записываться в формате [имя].xevents.xml. Другими словами, имя файла должно выглядеть следующим образом:
Launchpad.xevents.xmlbxlserver.xevents.xml
Файл конфигурации имеет следующий формат:
<?xml version="1.0" encoding="utf-8"?>
<event_sessions>
<event_session name="[session name]" maxMemory="1" dispatchLatency="1" MaxDispatchLatency="2 SECONDS">
<description owner="you">Xevent for launchpad or bxl server.</description>
<event package="SQLSatellite" name="[XEvent Name 1]" />
<event package="SQLSatellite" name="[XEvent Name 2]" />
<target package="package0" name="event_file">
<parameter name="filename" value="[SessionName].xel" />
<parameter name="max_file_size" value="10" />
<parameter name="max_rollover_files" value="10" />
</target>
</event_session>
</event_sessions>
- Чтобы настроить трассировку, измените заполнитель session name, заполнитель для имени файла (
[SessionName].xel) и имена событий, которые требуется записывать (например,[XEvent Name 1],[XEvent Name 1]). - Может появиться любое количество тегов пакетов событий. Все они будут собираться при условии, что атрибут имени правильный.
Пример. Фиксация событий панели запуска
В следующем примере представлено определение трассировки событий для службы панели запуска:
<?xml version="1.0" encoding="utf-8"?>
<event_sessions>
<event_session name="sqlsatelliteut" maxMemory="1" dispatchLatency="1" MaxDispatchLatency="2 SECONDS">
<description owner="hay">Xevent for sql tdd runner.</description>
<event package="SQLSatellite" name="launchpad_launch_start" />
<event package="SQLSatellite" name="launchpad_resume_sent" />
<target package="package0" name="event_file">
<parameter name="filename" value="launchpad_session.xel" />
<parameter name="max_file_size" value="10" />
<parameter name="max_rollover_files" value="10" />
</target>
</event_session>
</event_sessions>
- Поместите XML-файл в каталог Binn экземпляра SQL Server.
- Этот файл должен иметь имя
Launchpad.xevents.xml.
Пример. Фиксация событий BXLServer
В следующем примере представлено определение трассировки событий для исполняемого файла BXLServer.
<?xml version="1.0" encoding="utf-8"?>
<event_sessions>
<event_session name="sqlsatelliteut" maxMemory="1" dispatchLatency="1" MaxDispatchLatency="2 SECONDS">
<description owner="hay">Xevent for sql tdd runner.</description>
<event package="SQLSatellite" name="satellite_abort_received" />
<event package="SQLSatellite" name="satellite_authentication_completion" />
<event package="SQLSatellite" name="satellite_cleanup" />
<event package="SQLSatellite" name="satellite_data_receive_completion" />
<event package="SQLSatellite" name="satellite_data_send_completion" />
<event package="SQLSatellite" name="satellite_data_send_start" />
<event package="SQLSatellite" name="satellite_schema_sent" />
<event package="SQLSatellite" name="satellite_unexpected_message_received" />
<event package="SQLSatellite" name="satellite_data_chunk_sent" />
<target package="package0" name="event_file">
<parameter name="filename" value="satellite_session.xel" />
<parameter name="max_file_size" value="10" />
<parameter name="max_rollover_files" value="10" />
</target>
</event_session>
</event_sessions>
- Поместите XML-файл в тот же каталог, в котором находится исполняемый файл BXLServer.
- Этот файл должен иметь имя
bxlserver.xevents.xml.