Вопрос или проблема
У нас есть несколько SQL Server на виртуальной машине в Azure – Server 2016 Standard с SQL 2017 Standard. Журнал системных приложений заполняется событиями Microsoft SQL VM Telemetry
с ID 51000
и 51001
.
Я отключил обмен данными через SQL Server Error and Usage reporting
и отключил + остановил 3 службы CEIP, связанные с SQL Server.
Перезагрузил виртуальную машину, эффекта нет.
Что я могу сделать, чтобы избавиться от них? События создаются каждую секунду, если не несколько раз.
Ответ или решение
Решение проблемы: Отключение журналов событий телеметрии в SQL Server на виртуальной машине Azure
Вам повстречалась распространенная проблема с журналами событий телеметрии в SQL Server на виртуальной машине Azure, которая, как правило, возникает в средах, использующих Windows Server 2016 и SQL Server 2017. Журналы с идентификаторами событий 51000 и 51001 могут происходить из-за активного сбора телеметрии, что приводит к чрезмерному загрязнению системных приложений. Мы разберем серию шагов, которые могут помочь вам решить эту проблему.
1. Отключение сбора телеметрии в SQL Server
Несмотря на то, что вы уже отключили отчетность о сбоях и использовали параметры конфиденциальности (CEIP), есть несколько дополнительных шагов, которые могут помочь:
-
Отключение служб CEIP: Убедитесь, что службы, связанные с «Customer Experience Improvement Program», полностью остановлены и отключены. Вы правильно сделали, остановив три службы, но проверьте, что они действительно не запускаются автоматически после перезагрузки. Это можно сделать через
services.msc
. -
Изменение параметров конфигурации SQL Server: Используйте SQL Server Management Studio (SSMS) для выполнения следующего SQL-запроса:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'telemetry', 0; RECONFIGURE;
Этот запрос отключит сбор телеметрии на уровне сервера.
2. Отключение журналов событий на уровне Windows
Для более глубокого подхода можно отключить конкретные уровни событий, которые генерируют SQL Server:
-
Настройка журналов событий через реестр: Измените настройки в реестре системы. Предупреждение: работайте с реестром с осторожностью. Откройте редактор реестра (
regedit
) и перейдите к следующему пути:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server\MSSQL14.MSSQLSERVER\SQL Server Error Reporting
Создайте новый параметр DWORD с именем
Telemetry
и установите его значение на0
.
3. Мониторинг и анализ причин
Если отключение телеметрии не решает проблему, рекомендуется провести мониторинг системных журналов и ресурсов сервера:
-
Использование инструментов мониторинга: Рассмотрите возможность использования Azure Monitor или других сторонних решений для анализа производительности. Вы можете выявить, какие приложения или процессы вызывают создание журналов.
-
Обновление SQL Server: Убедитесь, что ваш SQL Server обновлен до последней версии с исправлениями. Иногда такие проблемы могут быть вызваны ошибками, которые были исправлены в патчах.
4. Обращение в поддержку Azure
Если ни один из вышеуказанных шагов не помог решить вашу проблему, возможно, стоит обратиться в службу поддержки Azure. Они могут предложить более глубокий анализ вашего конкретного окружения и предоставить решения, которые могут не быть доступны в общедоступной документации.
Заключение
Журналы телеметрии в SQL Server могут представлять собой непростую задачу для администраторов баз данных на виртуальных машинах в Azure. Отключение функций программного обеспечения часто оказывается самым эффективным путем к снижению количества записей в журналах. Если вы будете следовать описанным шагам и при необходимости обратитесь к поддержке Azure, это значительно улучшит вашу ситуацию с журналами событий.
Правильное управление системными журналами не только помогает поддерживать порядок, но и значительно облегчает дальнейшее обслуживание и диагностику серверов.