logo
SQL2008_Administration

8.4.4. Оптимизация системы индексов. Использование Database Tuning Advisor

Для использования Database Tuning Advisor необходимо:

  1. Собрать информацию о запросах пользователей средствами SQL Server Profiler, выбрав шаблон Tuning, и сохранив ее в таблице на сервере SQL Server или в файле скрипта с расширением *.sql.

  2. Запустить Database Tuning Advisor - меню Пуск Программы Microsoft SQL Server 2008 Performance Tools Database Engine Tuning Advisor.

  3. Подключиться к серверу, для которого будет производиться оптимизация индексов. Database Tuning Advisor будет автоматически запрашивать с этого сервера необходимую служебную информацию и сохранять на нем временную данные.

  4. В левой части интерфейса Database Tuning Advisor в окне Session Monitor (Монитора сеанса) отображается список сеансов тюнинга.

    1. Зеленым флажком помечаются сеансы, для которых завершен анализ и созданы рекомендации;

    2. Из контекстного меню для объектов сеанса можно открыть данный сеанс, скопировать его, переименовать, удалить, запустить анализ и т.п.

  5. В окне справа, содержащем информацию о текущем сеансе, выбрать протокол рабочей нагрузки (workload). Им может быть таблица трассировки на SQL Server или файл одного из трех типов:

    1. Двоичный файл трассировки, созданный профилировщиком (*.trc);

    2. Файл трассировки в формате XML (собранный протокол можно сохранить в этом формате, воспользовавшись командой File (Файл) -Save As (Сохранить как) в профилировщике);

    3. Скрипт Transact-SQL (*.sql).

  6. С помощью параметра Database for workload analysis (База данных для анализа рабочей нагрузки) указать в качестве БД, в которой будут создаваться временные объекты Database Tuning Advisor, специально созданную для этой цели новую базу данных;

  7. В нижней части вкладки General (Общие) выбрать базы данных и таблицы, для которых будет производиться анализ системы индексов (анализ может производиться сразу для нескольких БД).

  8. На вкладке Tuning Options (Параметры тюнинга) настройте параметры тюнинга. В большинстве ситуаций оптимальными параметрами будут следующие:

    1. снять флажок Limit tuning time - не ограничивать время анализа. Снятие ограничения по времени обеспечит максимальное качество анализа;

    2. установить переключатель Indexes and indexed views - анализировать возможность применения индексов и индексированных представлений. Это обеспечит максимальную гибкость при проведении анализа;

    3. установить переключатель Full partitioning - использовать полные возможности секционирования;

    4. установить переключатель Do not keep any existing PDS - не сохранять какие-либо существующие физические структуры хранения. При этом будут генерироваться не только предложения по созданию новых индексов, но и по удалению существующих, если они практически не используются.

  9. Нажать кнопку Start Analysis (Начать анализ) на панели инструментов. Наблюдать за ходом выполнения вы сможете на вкладке Progress (Прогресс).

  10. После завершения анализа откроется вкладка Recommendations (Рекомендации), на которой будет представлен список объектов (индексов, индексированных представлений, разделов), которые нужно создать или удалить. Результаты анализа размещаются на вкладке Reports (Отчеты).

  11. После изучения результатов анализа вы можете воспользоваться меню Actions (Действия) Database Tuning Advisor, содержащим три пункта:

    1. Apply recommendations (Применить рекомендации) — выполнить команды на создание и удаление объектов, немедленно или по расписанию;

    2. Save recommendations (Сохранить рекомендации) — рекомендации будут сохранены в файле скрипта. При этом вы сможете выбрать, использовать ли команды на создание и удаление объектов в оперативном режиме (с параметром ONLINE) или в автономном режиме (OFFLINE);

    3. Evaluate recommendations (оценить рекомендации) — создать новый сеанс анализа, в котором предлагаемая конфигурация индексов, индексированных представлений и разделов будет считаться действующей, и провести анализ, приняв ее за исходную. Фактически а этом режиме вы проводите анализ типа "а что, если...".

Существует консольный вариант Database Tuning Advisor - dta.exe. Возможности этой утилиты совпадают с возможностями графического варианта Database Tuning Advisor, поэтому консольный вариант используется в основном для автоматизации сеансов тюнинга.

Проблемы, связанные с применением Database Tuning Advisor: