Поделиться через


Автоматическая настройка в Базе данных SQL Azure и Управляемом экземпляре SQL Azure

Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure

Автоматическая настройка Базы данных SQL Azure и Управляемого экземпляра SQL Azure обеспечивает наилучшую производительность и стабильность рабочих нагрузок благодаря механизму непрерывной оптимизации производительности на основе искусственного интеллекта и машинного обучения.

Автоматическая настройка — это полностью управляемая интеллектуальная служба производительности, которая непрерывно отслеживает выполняемые в базе данных запросы с помощью встроенной системы аналитики и автоматически повышает их производительность. Это достигается за счет динамической адаптации базы данных к изменениям рабочих нагрузок и применения рекомендаций по настройке. Автоматическая настройка горизонтально изучает все базы данных Azure с помощью механизма искусственного интеллекта и динамически улучшает действия настройки. Чем дольше база данных выполняется с включенной автоматической настройкой, тем лучше она работает.

База данных SQL Azure и Управляемый экземпляр SQL Azure автоматическая настройка может быть одной из наиболее важных функций, которые позволяют обеспечить стабильную и пиковую производительность рабочих нагрузок базы данных.

Автоматическая настройка SQL Azure использует основную логику с функцией автоматической настройки SQL Server в ядре СУБД. Дополнительные технические сведения о встроенном механизме настройки см. в статье Automatic tuning (Автоматическая настройка).

Возможности автоматической настройки

  • Автоматическая оптимизация производительности баз данных
  • Автоматическая проверка прироста производительности.
  • Автоматический откат и самостоятельное восстановление.
  • Журнал настройки
  • Настройка скриптов Transact-SQL (T-SQL) для развертывания вручную
  • возможность горизонтального увеличения масштаба сотен тысяч баз данных;
  • положительное влияние на ресурсы DevOps и совокупную стоимость владения.

Безопасный, надежный и проверенный

Операции настройки, применяемые к базам данных, полностью безопасны для производительности наиболее интенсивных рабочих нагрузок. Система разработана с осторожностью, чтобы не вмешиваться в рабочие нагрузки пользователей. Рекомендации по автоматической настройке применяются только во время низкой загрузки ЦП, операций ввода-вывода данных и операций ввода-вывода журнала. Система также может временно отключить автоматические операции настройки для защиты производительности рабочей нагрузки. В таком случае сообщение "Отключено системой" будет отображаться в портал Azure и в sys.database_automatic_tuning_options dmV. Автоматическая настройка предназначена для предоставления пользовательским рабочим нагрузкам наивысшего приоритета ресурсов.

Автоматические механизмы настройки отлажены и были усовершенствованы на нескольких миллионах баз данных, работающих в Azure. Операции автоматической настройки проверяются автоматически, чтобы обеспечить заметное улучшение производительности рабочей нагрузки. Если нет улучшения или в маловероятном случае производительности регрессии, изменения, внесенные автоматической настройкой, немедленно удаляются. В журнале настройки, записанном, существует четкая трассировка улучшений настройки, внесенных в каждую базу данных в База данных SQL Azure.

Как работает автоматическая настройка

Включение автоматической настройки

Параметры автоматической настройки

Параметры автоматической настройки, доступные в Базе данных SQL Azure и Управляемом экземпляре Azure SQL:

Параметр автоматической настройки Description Поддержка отдельной базы данных и базы данных в пуле Поддержка базы данных экземпляра
CREATE INDEX Определяет индексы, которые могут повысить производительность рабочей нагрузки, создавать индексы и автоматически проверять производительность запросов. При рекомендациях по новому индексу система рассматривает пространство, доступное в базе данных. Если добавление индекса, по оценкам, увеличивает использование пространства на более чем 90 % к максимальному размеру данных, рекомендация по индексу не создается. После того как система идентифицирует период низкой загрузки и начинает создавать индекс, она не приостанавливает или отменяет эту операцию, даже если использование ресурсов неожиданно увеличивается. Если создание индекса завершается сбоем, оно будет извлечено в течение будущего периода низкой загрузки. Рекомендации по индексу не предоставляются для таблиц, в которых кластеризованный индекс или куча превышает 10 ГБ. Да Нет
DROP INDEX Удаляет неиспользуемые (за последние 90 дней) и повторяющиеся индексы. Уникальные индексы, в том числе индексы, поддерживающие первичный ключ и уникальные ограничения, никогда не удаляются. Этот параметр может отключаться автоматически, если в рабочей нагрузке есть запросы с указаниями индекса или если рабочая нагрузка выполняет коммутацию секций. На уровнях служб "Премиум" и "Критически важный для бизнеса" применение этого параметра не приведет к удалению неиспользуемых индексов, однако будут удалены дублирующиеся индексы (если такие есть). Да Нет
FORCE LAST GOOD PLAN (автоматическое исправление плана) Определяет запросы SQL Azure с помощью плана выполнения, который медленнее предыдущего хорошего плана, и заставляет запросы использовать последний известный хороший план вместо регрессированного плана. Да Да

Автоматическая настройка для Базы данных SQL

Автоматическая настройка для База данных SQL Azure использует рекомендации помощника по созданию ИНДЕКСА, DROP INDEX и FORCE_LAST_GOOD_PLAN для оптимизации производительности базы данных. Дополнительные сведения см. в статье о рекомендациях помощника по базам данных на портале Azure, в PowerShell и в REST API.

Вы можете вручную применить рекомендации по настройке с помощью портал Azure или разрешить автоматическую настройку автономно применять рекомендации по настройке. Преимущества автономного применения рекомендаций по настройке системы заключается в том, что она автоматически проверяет наличие положительного повышения производительности рабочей нагрузки, и если не обнаружено значительного улучшения производительности или если производительность регрессии производительности, система автоматически отменяет внесенные изменения. В зависимости от частоты выполнения запросов процесс проверки может занять от 30 минут до 72 часов, что занимает больше времени для менее часто выполняющихся запросов. Если в любой момент во время проверки обнаружена регрессия, изменения немедленно удаляются.

Внимание

Если вы применяете рекомендации по настройке с помощью T-SQL, механизмы автоматической проверки производительности и разворотов недоступны. Рекомендации, применяемые таким образом, остаются активными и отображаются в списке рекомендаций по настройке в течение 24-48 часов, прежде чем система автоматически отключит их. Если вы хотите удалить рекомендацию раньше, это можно сделать на портале Azure.

Параметры автоматической настройки могут быть независимо включены или отключены для каждой базы данных, или их можно настроить на уровне сервера и применить к каждой базе данных, наследующей параметры от сервера. По умолчанию новые серверы наследуют значения Azure по умолчанию для параметров автоматической настройки. По умолчанию Azure задано значение FORCE_LAST_GOOD_PLAN включено, CREATE_INDEX отключено и отключено DROP_INDEX.

Настройка параметров автоматической настройки на сервере и наследование параметров для баз данных, принадлежащих родительскому серверу, — это рекомендуемый метод настройки автоматической настройки. Это упрощает управление параметрами автоматической настройки для большого количества баз данных.

См. дополнительные сведения о создании уведомлений по электронной почте для рекомендаций по автоматической настройке .

Автоматическая настройка для Управляемого экземпляра Azure SQL

Автоматическая настройка для Управляемого экземпляра SQL Azure поддерживает только параметр FORCE LAST GOOD PLAN. Дополнительные сведения о настройке параметров автоматической настройки с помощью T-SQL см. в статье Реализация автоматического исправления плана в автоматической настройке и Автоматическое исправление плана.

Примеры для включения

Дополнительные сведения см. в статье Параметры ALTER DATABASE SET.

Чтобы наследовать конфигурацию по умолчанию от родительского логического сервера, используйте следующий T-SQL. На портале Azure это соответствует параметру "Наследование: Сервер".

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING = INHERIT;

Чтобы включить параметры автоматической настройки CREATE INDEX и DROP INDEX, используйте следующие параметры T-SQL.

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (CREATE_INDEX = ON, DROP_INDEX = ON);

Журнал автоматической настройки

В течение База данных SQL Azure журнал изменений, внесенных автоматической настройкой, сохраняется в течение 21 дней. Его можно просмотреть в портал Azure на странице рекомендаций по производительности для базы данных или с помощью PowerShell с командлетом Get-AzSqlDatabaseRecommendedAction. Для более длительного хранения данные журнала также можно передавать в несколько типов назначений, включив параметр диагностики AutomaticTuning.