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


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

Область применения:База данных SQL AzureУправляемый экземпляр SQL AzureSQL база данных в Fabric

Автоматическая настройка обеспечивает пиковую производительность и стабильную рабочую нагрузку с помощью непрерывной настройки производительности на основе ИИ и машинного обучения.

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

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

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

Операции настройки, применяемые к базам данных, полностью безопасны для производительности наиболее интенсивных рабочих нагрузок. Система разработана с осторожностью, чтобы не вмешиваться в рабочие нагрузки пользователей.

схема, показывающая, как работает автоматическая настройка.

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

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

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

Совет

Дополнительные сведения см. в блоге . Искусственный интеллект настраивает базу данных SQL Azure.

Прочитайте PDF-файл Microsoft Research, в котором рассматривается автоматическое индексирование миллионов баз данных в базе данных SQL Microsoft Azure.

Чем может быть полезна автоматическая настройка для вас

Автоматическая настройка производительности баз данных включает:

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

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

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

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

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

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

Автоматическая настройка для SQL базы данных Azure использует рекомендации по созданию индекса, удалению индекса и 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 см. в статье Реализация автоматического исправления плана в автоматической настройке и Автоматическое исправление плана.

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

Параметр автоматической настройки CREATE INDEX включен автоматически в базе данных SQL в Microsoft Fabric.

Примеры для активации

Дополнительные сведения см. в статье Параметры 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);

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

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