Оптимизация среды SQL с помощью решения проверки работоспособности SQL Server в Azure Monitor
Решение проверки работоспособности SQL можно использовать для оценки риска и работоспособности сред сервера на регулярном интервале. В этой статье описано, как установить решение, чтобы можно было предпринять корректирующие действия для потенциальных проблем.
Это решение предоставляет приоритетный список рекомендаций, относящихся к развернутой инфраструктуре сервера. Рекомендации классифицируются в шести основных областях, которые помогают быстро понять риск и принять корректирующие меры.
Рекомендации основаны на знаниях и опыте, полученных инженерами Майкрософт от тысяч посещений клиентов. Каждая рекомендация содержит рекомендации по поводу того, почему проблема может иметь значение для вас и как реализовать предложенные изменения.
Вы можете выбрать приоритетные области, наиболее важные для вашей организации, и отслеживать ваш прогресс в создании безопасной и здоровой среды.
После того как решение добавлено и оценка завершена, сводная информация по ключевым областям отображается на панели мониторинга проверки работоспособности SQL для инфраструктуры в вашей среде. В следующих разделах описывается, как использовать сведения о проверке работоспособности SQL панели мониторинга, где можно просмотреть и выполнить рекомендуемые действия для инфраструктуры SQL Server.
Предпосылки
Для решения проверки работоспособности SQL требуется, чтобы на каждом компьютере, где установлен Microsoft Monitoring Agent (MMA), была установлена поддерживаемая версия .NET Framework 4.6.2. Агент MMA используется в System Center 2016 — Operations Manager, Operations Manager 2012 R2 и Azure Monitor.
Решение поддерживает SQL Server версии 2012, 2014, 2016, 2017 и 2019.
Рабочая область Log Analytics для добавления решения проверки работоспособности SQL из Azure Marketplace на портале Azure. Чтобы установить решение, необходимо быть администратором или участником в подписке Azure.
Примечание.
Когда вы добавите решение, файл AdvisorAssessment.exe будет добавлен на серверы с агентами. Данные конфигурации считываются, а затем отправляются в Azure Monitor в облаке для обработки. Логика применяется к полученным данным, а облачная служба записывает данные.
Для проверки работоспособности серверов SQL Server требуется агент и подключение к Azure Monitor с помощью одного из следующих поддерживаемых методов:
- Установите Microsoft Monitoring Agent (MMA), если сервер еще не отслеживается с помощью System Center 2016 — Operations Manager или Operations Manager 2012 R2.
- Если он отслеживается с помощью System Center 2016 — Operations Manager или Operations Manager 2012 R2, а группа управления не интегрирована с Azure Monitor, сервер может быть подключен к нескольким сетям с помощью Log Analytics для сбора данных и их пересылки в службу. При этом он всё равно может отслеживаться Operations Manager.
- В противном случае, если группа управления Operations Manager интегрирована со службой, необходимо добавить контроллеры домена для сбора данных этой службой, следуя шагам, описанным в разделе добавления управляемых агентом компьютеров, после того как вы включите решение в своей рабочей области.
Агент на вашем сервере SQL Server, сообщающий группе управления Operations Manager, собирает данные и пересылает их на назначенный сервер управления. Затем сервер управления непосредственно отправляет данные в Azure Monitor. Данные не записываются в базы данных Operations Manager.
Если SQL Server находится под мониторингом в Operations Manager, необходимо настроить учетную запись Run As в Operations Manager. Дополнительные сведения см. в учетных записей запуска от имени Operations Manager для Azure Monitor ниже.
Сведения о сборе данных проверки работоспособности SQL
Проверка работоспособности SQL собирает данные из следующих источников с помощью включенного агента:
- Инструментарий управления Windows (WMI)
- Реестр
- Счетчики производительности
- Результаты динамического административного представления SQL Server
Данные собираются на SQL Server и пересылаются в Log Analytics каждые семь дней.
Учетные записи запуска от имени для Operations Manager в Log Analytics
Для сбора и отправки данных в службу Log Analytics используется агент Operations Manager и группа управления. Log Analytics основывается на пакетах управления для рабочих нагрузок, чтобы предоставлять дополнительные ценные услуги. Для каждой рабочей нагрузки требуются права, связанные с рабочей нагрузкой, для запуска пакетов управления в другом контексте безопасности, например учетной записи пользователя домена. Необходимо указать учетные данные, настроив учетную запись запуска от имени Operations Manager.
Используйте следующие сведения, чтобы настроить учетную запись Operations Manager для проверки состояния SQL.
Настройка учетной записи запуска от имени для проверки работоспособности SQL
Если вы уже используете пакет управления SQL Server, следует использовать эту конфигурацию запуска от имени.
Настройка учетной записи выполнения SQL в консоли операций
Примечание.
По умолчанию рабочие процессы в пакете управления выполняются в контексте безопасности учетной записи локальной системы. Если вы используете Microsoft Monitoring Agent, подключенный непосредственно к службе, а не сообщаете непосредственно группе управления Operations Manager, пропустите шаги 1-5 ниже и запустите пример T-SQL или PowerShell, указав NT AUTHORITY\SYSTEM в качестве имени пользователя.
В Operations Manager откройте консоль управления и щелкните администрирование.
В разделе конфигурации выполнения от именищелкните Профилии откройте профиль выполнения от имени SQL Assessment.
На странице "Учетные записи от имени", щелкните Добавить.
Выберите учетную запись запуска от имени Windows, содержащую учетные данные, необходимые для SQL Server, или щелкните Создать, чтобы создать ее.
Примечание.
Тип учетной записи "Запуск от имени" должен быть Windows. Учетная запись запуска от имени также должна быть частью группы локальных администраторов на всех серверах Windows Server, где размещаются экземпляры SQL Server.
Нажмите кнопку Сохранить.
Измените и выполните следующий пример T-SQL на каждом экземпляре SQL Server, чтобы предоставить минимальные разрешения, необходимые для учетной записи Run As для выполнения проверки состояния. Однако это не нужно делать, если учетная запись запуска от имени уже входит в роль сервера sysadmin в экземплярах SQL Server.
---
-- Replace <UserName> with the actual user name being used as Run As Account.
USE master
-- Create login for the user, comment this line if login is already created.
CREATE LOGIN [<UserName>] FROM WINDOWS
-- Grant permissions to user.
GRANT VIEW SERVER STATE TO [<UserName>]
GRANT VIEW ANY DEFINITION TO [<UserName>]
GRANT VIEW ANY DATABASE TO [<UserName>]
-- Add database user for all the databases on SQL Server Instance, this is required for connecting to individual databases.
-- NOTE: This command must be run anytime new databases are added to SQL Server instances.
EXEC sp_msforeachdb N'USE [?]; CREATE USER [<UserName>] FOR LOGIN [<UserName>];'
Настройка учетной записи запуска от имени SQL с помощью Windows PowerShell
Откройте окно PowerShell и запустите следующий скрипт после обновления его вашими данными.
import-module OperationsManager
New-SCOMManagementGroupConnection "<your management group name>"
$profile = Get-SCOMRunAsProfile -DisplayName "SQL Assessment Run As Profile"
$account = Get-SCOMrunAsAccount | Where-Object {$_.Name -eq "<your run as account name>"}
Set-SCOMRunAsProfile -Action "Add" -Profile $Profile -Account $Account
Общие сведения о приоритете рекомендаций
Каждая рекомендация имеет значение весового значения, определяющее относительную важность рекомендации. Показаны только десять наиболее важных рекомендаций.
Как рассчитываются веса
Весовые значения — это статистические значения на основе трех ключевых факторов:
- Вероятность , что обнаруженная проблема приведет к проблемам. Более высокая вероятность соответствует более высокой общей оценке для рекомендации.
- влияние проблемы на вашу организацию, если это вызовет трудности. Более высокий уровень влияния соответствует более высокому итоговому баллу рекомендации.
- усилия, необходимые для реализации рекомендации. Большие усилия приводят к более низкой общей оценке рекомендации.
Вес для каждой рекомендации выражается в процентах от общего показателя, доступного для каждой области фокуса. Например, если в области фокуса безопасности и соответствия требованиям есть оценка 5%, реализация этой рекомендации увеличит общую оценку безопасности и соответствия требованиям на 5%.
Фокус-области
Фокусная область безопасности и соответствия требованиям. В этой основной области представлены рекомендации по потенциальным угрозам и нарушениям безопасности, корпоративным политикам, а также требованиям в области технического, юридического и нормативного соответствия.
доступность и непрерывность бизнес-процессов. В этой области фокуса показаны рекомендации по доступности служб, устойчивости инфраструктуры и защиты бизнеса.
производительности и масштабируемости. В этой области фокуса показаны рекомендации по росту ИТ-инфраструктуры вашей организации, обеспечение соответствия ит-среды текущим требованиям к производительности и реагирование на изменение потребностей инфраструктуры.
обновление, миграция и развертывание. В этой области фокуса показаны рекомендации по обновлению, миграции и развертыванию SQL Server в существующей инфраструктуре.
операции и мониторинг. В этой приоритетной области представлены рекомендации по упрощению ИТ-операций, реализации профилактического обслуживания и максимизации производительности.
Управление изменениями и конфигурацией - Эта область фокусировки содержит рекомендации, которые помогают защищать повседневные операции, обеспечивать, чтобы изменения не оказывали негативного влияния на инфраструктуру, устанавливать процедуры управления изменениями, а также отслеживать и проверять конфигурации системы.
Следует ли стремиться достичь 100% в каждой области внимания?
Необязательно. Рекомендации основаны на знаниях и опыте, полученных инженерами Майкрософт в тысячах посещений клиентов. Однако две серверные инфраструктуры не совпадают, и конкретные рекомендации могут быть более или менее актуальными для вас. Например, некоторые рекомендации по безопасности могут быть менее актуальными, если ваши виртуальные машины не подключены к Интернету. Некоторые рекомендации по доступности могут быть менее актуальными для служб, которые обеспечивают нерегламентированный сбор и отчеты с низким приоритетом. Проблемы, важные для зрелого бизнеса, могут быть менее важными для стартапа. Вы можете определить, какие области фокуса являются вашими приоритетами, а затем посмотреть, как ваши оценки изменяются с течением времени.
Каждая рекомендация содержит рекомендации по поводу того, почему важно. Это руководство следует использовать для оценки того, подходит ли реализация рекомендации для вас, учитывая характер ИТ-служб и бизнес-потребностей вашей организации.
Используйте рекомендации в области проверки здоровья
Прежде чем использовать решение для оценки в Azure Monitor, необходимо установить решение. После установки вы можете просмотреть сводку рекомендаций с помощью плитки проверки работоспособности SQL на странице Обзор для Azure Monitor на портале Azure.
Просмотрите суммированные оценки соответствия для инфраструктуры и ознакомьтесь с рекомендациями.
Чтобы просмотреть рекомендации для области внимания и предпринять корректирующие действия
- Войдите на портал Azure https://portal.azure.com.
- На портале Azure щелкните Дополнительные службы, которые находятся в левом нижнем углу. В списке ресурсов введите Монитор. Как только вы начнете вводить символы, список отфильтруется соответствующим образом. Щелкните Монитор.
- В разделе "Insights" выберите "Еще".
- На странице обзора щелкните плитку проверки работоспособности SQL.
- На странице проверки работоспособности просмотрите сводную информацию в одном из разделов приоритетной области, а затем щелкните на один из них, чтобы просмотреть рекомендации для этой области.
- На любой из страниц области фокусировки можно просмотреть приоритетные рекомендации, сделанные для вашей среды. Щелкните рекомендацию под Затронутые объекты, чтобы просмотреть сведения о том, почему эта рекомендация была сделана.
- Вы можете предпринять корректирующие действия, предложенные в предложенных действиях. Когда элемент был устранен, более поздние оценки засчитывают, что рекомендуемые действия были приняты, и ваша оценка соответствия увеличится. Исправленные элементы отображаются как Пройденные Объекты.
Игнорировать рекомендации
Если у вас есть рекомендации, которые вы хотите игнорировать, можно создать текстовый файл, который Azure Monitor будет использовать для предотвращения появления рекомендаций в результатах оценки.
Определение рекомендаций, которые будут игнорироваться
В меню Azure Monitor нажмите Журналы.
Используйте следующий запрос, чтобы получить список рекомендаций, которые завершились сбоем для компьютеров в вашей среде.
SQLAssessmentRecommendation | where RecommendationResult == "Failed" | sort by Computer asc | project Computer, RecommendationId, Recommendation
На этом снимке экрана показан запрос журнала.
Выберите рекомендации, которые вы хотите игнорировать. Значения для RecommendationId будут использоваться в следующей процедуре.
Создание и использование текстового файла IgnoreRecommendations.txt
- Создайте файл с именем IgnoreRecommendations.txt.
- Вставьте или введите каждый идентификатор рекомендаций для каждой рекомендации, которую требуется игнорировать Azure Monitor в отдельной строке, а затем сохраните и закройте файл.
- Поместите файл в следующую папку на каждом компьютере, где azure Monitor будет игнорировать рекомендации.
- На компьютерах с агентом Microsoft Monitoring Agent (подключенным напрямую или через Operations Manager) — SystemDrive:\Program Files\Microsoft Monitoring Agent\Agent
- На сервере управления Operations Manager — SystemDrive:\Program Files\Microsoft System Center 2012 R2\Operations Manager\Server
- На сервере управления Operations Manager 2016 — SystemDrive:\Program Files\Microsoft System Center 2016\Operations Manager\Server
Чтобы убедиться, что рекомендации игнорируются
После выполнения следующей запланированной оценки по умолчанию каждые 7 дней указанные рекомендации помечены как игнорируемые и не будут отображаться на панели мониторинга оценки.
Для перечисления всех пропущенных рекомендаций можно использовать следующие запросы поиска по журналам.
SQLAssessmentRecommendation | where RecommendationResult == "Ignored" | sort by Computer asc | project Computer, RecommendationId, Recommendation
Если вы решите позже увидеть пропущенные рекомендации, удалите все файлы IgnoreRecommendations.txt или удалите из них идентификаторы рекомендаций.
Часто задаваемые вопросы
Какие проверки выполняются решением оценки SQL?
- В следующем запросе показано описание всех проверок, выполняемых в настоящее время:
SQLAssessmentRecommendation
| distinct RecommendationId, FocusArea, ActionArea, Recommendation, Description
| sort by FocusArea,ActionArea, Recommendation
Затем результаты можно экспортировать в Excel для дальнейшего просмотра.
Как часто выполняется проверка работоспособности?
- Проверка выполняется каждые семь дней.
Есть ли способ настроить частоту выполнения проверки?
- Не в это время.
Если еще один сервер обнаружен после добавления решения проверки работоспособности SQL, он будет проверен?
- Да, когда он обнаруживается, он проверяется с тех пор каждые семь дней.
Если сервер удален, когда он будет удален из проверки работоспособности?
- Если сервер не отправляет данные в течение 3 недель, он удаляется.
Имя процесса сбора данных?
- AdvisorAssessment.exe
Сколько времени требуется для сбора данных?
- Фактическая сбор данных на сервере занимает около 1 часа. На серверах с большим количеством экземпляров ИЛИ баз данных SQL может потребоваться больше времени.
Какой тип данных собирается?
- Собираются следующие типы данных:
- WMI
- Реестр
- Счетчики производительности
- Динамические административные представления SQL (DMV).
Существует ли способ настроить время или условия сбора данных?
- Не в это время.
Почему нужно настроить учетную запись запуска от имени?
- Для SQL Server выполняется небольшое количество запросов SQL. Чтобы они выполнялись, необходимо использовать учетную запись запуска от имени с разрешениями VIEW SERVER STATE для SQL. Кроме того, для запроса WMI требуются учетные данные локального администратора.
Почему отображаются только первые 10 рекомендаций?
- Вместо предоставления исчерпывающего списка задач рекомендуется сначала сосредоточиться на решении приоритетных рекомендаций. После их устранения будут доступны дополнительные рекомендации. Если вы предпочитаете просмотреть подробный список, вы можете просмотреть все рекомендации с помощью поиска по журналам Log Analytics.
Есть ли способ игнорировать рекомендацию?
- Да, см. раздел Игнорировать рекомендации выше.
Дальнейшие действия
- Запросы логов, чтобы узнать, как анализировать подробные данные и рекомендации по проверке состояния SQL.