Помощник по настройке ядра СУБД

Область применения: SQL Server

Помощник по настройке ядра СУБД (Майкрософт) анализирует базы данных и составляет рекомендации по оптимизации производительности запросов. Помощник по настройке ядра СУБД можно использовать для выбора и создания оптимальных наборов индексов, индексированных представлений и секций таблицы, не обладая экспертным уровнем понимания структуры баз данных или внутренних процессов SQL Server. Помощник по настройке ядра СУБД позволяет выполнять следующие задачи:

  • Устранение неполадок производительности конкретного проблемного запроса

  • Настройка большого набора запросов в одной или нескольких базах данных

  • Выполнение исследовательского гипотетического анализа потенциальных изменений физической структуры

  • Управление местом в хранилище

Примечание.

Помощник по настройке ядра СУБД не поддерживается для База данных SQL Azure или Управляемый экземпляр SQL Azure. Вместо этого вы можете применить стратегии, описанные в статье Мониторинг и настройка производительности Базы данных SQL Azure и Управляемого экземпляра SQL Azure. Сведения о База данных SQL Azure см. в рекомендациях по производительности помощника по базам данных для База данных SQL Azure.

Преимущества помощника по настройке ядра СУБД

Выполнить оптимизацию производительности запросов, не обладая полным пониманием структуры базы данных и запросов, выполняющихся к базе данных, может быть сложно. Помощник по настройке ядра СУБД (DTA) может упростить эту задачу, проанализировав текущий кэш плана запросов или проанализировав рабочую нагрузку создаваемых запросов Transact-SQL и рекомендовать соответствующую физическую структуру. Более опытным администраторам баз данных помощник предлагает мощный механизм исследовательского гипотетического анализа различных вариантов физической структуры. Помощник по настройке ядра СУБД может предоставлять следующие сведения.

  • Рекомендовать наилучшее сочетание индексов rowstore и columnstore для баз данных, используя оптимизатор запросов для анализа очередей рабочей нагрузки.

  • рекомендовать выровненные либо невыровненные секции для баз данных, затрагиваемых рабочей нагрузкой;

  • рекомендовать индексированные представления для баз данных, затрагиваемых рабочей нагрузкой;

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

  • рекомендовать способы настройки базы данных для небольшого набора проблемных запросов;

  • обеспечить возможность настройки рекомендаций путем указания дополнительных параметров, например ограничений на место на диске;

  • формировать отчеты о результатах применения рекомендаций для заданной рабочей нагрузки.

  • вырабатывать альтернативные варианты выбора структуры в виде гипотетических конфигураций для оценки помощником по настройке ядра СУБД.

  • Настраивать рабочие нагрузки из многих источников, включая хранилище запросов SQL Server, кэш планов, файл или таблица трассировки приложения SQL Server Profiler или SQL-файл.

Помощник по настройке ядра СУБД позволяет обрабатывать следующие типы рабочих нагрузок запросов.

  • Только запросы оперативной обработки транзакций (OLTP).

  • Только запросы оперативной аналитической обработки (OLAP).

  • Смешанные запросы OLTP и OLAP.

  • Рабочие нагрузки с большим количеством запросов (запросов больше, чем изменений данных).

  • Рабочие нагрузки с большим количеством обновлений (изменений данных больше, чем запросов).

Компоненты и основные понятия помощника по настройке ядра СУБД

Графический пользовательский интерфейс помощника по настройке ядра СУБД
Простой в использовании интерфейс, в котором можно указать рабочую нагрузку и выбрать различные параметры настройки.

Служебная программа dta
Версия помощника по настройке ядра СУБД для командной строки. Программа dta предназначена для использования функций помощника по настройке ядра СУБД в приложениях и скриптах.

Рабочая нагрузка
Файл скрипта Transact-SQL, файл трассировки или таблица трассировки, которая содержит показательную рабочую нагрузку для настраиваемых баз данных. Начиная с SQL Server 2012 (11.x), можно указать кэш планов в качестве рабочей нагрузки. Начиная с SQL Server 2016 (13.x), можно указать хранилище запросов в качестве рабочей нагрузки.

Входной XML-файл
Файл в формате XML, который помощник по настройке ядра СУБД может использовать для настройки рабочих нагрузок. Входной XML-файл поддерживает расширенные параметры настройки, недоступные в графическом интерфейсе пользователя или в программе dta .

Ограничения

Помощник по настройке ядра СУБД имеет следующие ограничения.

  • Он не может создавать или удалять уникальные индексы или индексы, обеспечивающие ограничения PRIMARY KEY или UNIQUE.

  • Он не сможет проанализировать базу данных, которая работает в однопользовательском режиме.

  • Если заданный размер места на диске превышает доступный, при составлении рекомендаций помощник по настройке ядра СУБД использует указанное значение. Однако, если попытаться применить рекомендации, выполнив рекомендованный скрипт, не увеличив предварительно доступное место на диске, может произойти ошибка. Максимальный объем места на диске можно задать при помощи параметра -B программы dta или значения в диалоговом окне Дополнительные параметры настройки .

  • По соображениям безопасности помощник по настройке ядра СУБД не может настраивать рабочую нагрузку в таблице трассировки, находящуюся на удаленном сервере. Чтобы обойти это ограничение, вместо таблицы трассировки можно использовать файл трассировки. Также можно скопировать таблицу трассировки на удаленный сервер.

  • Если при составлении рекомендаций указать ограничения, например на максимальный размер места на диске (при помощи параметра -B или диалогового окна Расширенные параметры настройки ), помощнику по настройке компонента Database Engine, возможно, придется удалить некоторые существующие индексы. В этом случае полученные рекомендации могут привести к отрицательным последствиям.

  • Если задать ограничение на максимальное время настройки (при помощи параметра -A программы dta или поля Предел времени настройки на вкладке Параметры настройки ), помощник настройки компонента Database Engine может не уложиться в отведенное время, если оно потребуется для предоставления точных рекомендаций или анализ отчетов для какой-либо части рабочей нагрузки займет дольше времени.

  • Помощник по настройке ядра СУБД может не предоставить рекомендации в следующих ситуациях.

    1. Таблица, которую необходимо настроить, содержит меньше 10 страниц данных.

    2. Рекомендованные индексы не обеспечивают достаточный прирост производительности по сравнению с текущей физической структурой базы данных.

    3. Пользователь, который запускает помощника по настройке компонента Database Engine, не входит в состав роли базы данных db_owner или предопределенной роли сервера sysadmin . Запросы в рабочей нагрузке анализируются в контексте безопасности пользователя, который запустил помощника по настройке ядра СУБД. Пользователь должен принадлежать роли базы данных db_owner .

  • Помощник по настройке ядра СУБД сохраняет данные о сеансе настройки и другие сведения в базе данных msdb. При изменении базы данных msdb можно потерять данные сеанса настройки. Чтобы этого избежать, реализуйте соответствующую стратегию резервного копирования для базы данных msdb.

Performance Considerations (Приложения-функции Azure. Рекомендации по производительности)

Помощник по настройке ядра СУБД потребляет значительное количество ресурсов процессора и памяти во время анализа. Следующие стратегии позволяют избежать снижения производительности сервера.

  • Занимайтесь настройкой баз данных, когда сервер не занят. Помощник по настройке ядра СУБД может повлиять на производительность задач обслуживания.

  • Используйте функцию тестовый сервер или сервер приложений. Дополнительные сведения см. в разделе Уменьшение настроенной загрузки рабочего сервера.

  • Указывайте только те физические структуры базы данных, которые необходимо проанализировать. Помощник по настройке ядра СУБД предоставляет большое количество параметров, но указывает только те из них, которые необходимы.

Зависимость от расширенной хранимой процедуры xp_msver

Помощник по настройке компонента Database Engine зависит от расширенной хранимой процедуры xp_msver в части предоставления всех функциональных возможностей. Эта расширенная хранимая процедура включается по умолчанию. Помощник по настройке ядра СУБД использует эту расширенную хранимую процедуру, чтобы извлечь количество процессоров и объем доступной памяти на компьютере, на котором находится настраиваемая база данных. Если процедура xp_msver недоступна, помощник по настройке компонента Database Engine предполагает использование характеристик оборудования того компьютера, на котором он выполняется. Если характеристики оборудования того компьютера, на котором выполняется помощник по настройке ядра СУБД, недоступны, то предполагается наличие одного процессора и 1 024 МБ оперативной памяти.

Эта зависимость влияет на рекомендации секционирования, поскольку количество секций зависит от этих двух значений (числа процессоров и объема доступной памяти). Она также влияет на результаты, если для настройки производственного сервера используется тестовый сервер. В этом случае помощник по настройке компонента Database Engine использует xp_msver для выборки свойств оборудования с производственного сервера. После настройки рабочей нагрузки на тестовом сервере помощник по настройке ядра СУБД использует свойства оборудования для формирования рекомендации. Дополнительные сведения см. в статье xp_msver (Transact-SQL).

Задачи помощника по настройке ядра СУБД

В следующей таблице перечислены распространенные задачи помощника по настройке ядра СУБД и приведены статьи, описывающие порядок их выполнения.

Задача помощника по настройке ядра СУБД Статья
Инициализация и запуск помощника по настройке ядра СУБД.

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

Настройка базы данных с помощью графического пользовательского интерфейса по настройке ядра СУБД.

Создание входных файлов XML-данных для настройки рабочих нагрузок.

Просмотр описания параметров пользовательского интерфейса помощника по настройке ядра СУБД.
Запуск и использование помощника по настройке ядра СУБД
Просмотр результатов операции по настройке базы данных.

Выбор и применение рекомендаций по настройке.

Выполнение исследовательского анализа гипотез относительно рабочей нагрузки.

Просмотр существующих сеансов настройки, клонирование сеансов на основе существующих
или изменение существующих рекомендаций по настройке для дальнейшей оценки или применения.

Просмотр описания параметров пользовательского интерфейса помощника по настройке ядра СУБД.
Просмотр и работа с выходными данными помощника по настройке ядра СУБД