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


Уменьшение настроечной загрузки производственного сервера

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

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

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

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

Следующие шаги в общем виде описывают процесс настройки производственной базы данных на тестовом сервере.

  1. Убедитесь, что пользователь, который хочет работать с тестовым сервером, есть на обоих серверах.
    Перед началом убедитесь, что пользователь, который хочет работать с тестовым сервером для настройки базы данных производственного сервера, существует на обоих серверах. Для этого нужно создать пользователя и его имя входа на тестовом сервере. Если вы являетесь членом фиксированной серверной роли sysadmin на обоих компьютерах, этот шаг можно пропустить.
  2. Настройте рабочую нагрузку на тестовом сервере.
    Чтобы настроить рабочую нагрузку на тестовом сервере, используйте входной XML-файл и программу командной строки dta. В этом XML-файле укажите имя тестового сервера во вложенном элементе TestServer вместе с другими значениями других вложенных элементов родительского элемента TuningOptions.
    Во время процесса настройки помощник по настройке ядра СУБД создает на тестовом сервере базу данных оболочки. Чтобы создать и настроить базу данных, помощник по настройке ядра СУБД отправляет производственному серверу представленные ниже вызовы.
    1. Помощник по настройке ядра СУБД импортирует метаданные производственной базы данных в базу данных оболочки тестового сервера. В эти метаданные входят пустые таблицы, индексы, представления, хранимые процедуры, триггеры и т.д. Таким образом, возможно выполнять запросы рабочей нагрузки к базе данных оболочки тестового сервера.
    2. Помощник по настройке ядра СУБД импортирует статистику производственного сервера, чтобы оптимизатор запросов мог точно оптимизировать запросы на тестовом сервере.
    3. Помощник по настройке ядра СУБД импортирует параметры аппаратного обеспечения, указывая число процессоров и доступную оперативную память производственного сервера, чтобы предоставить оптимизатору запросов сведения, необходимые для формирования планов запросов.
  3. После завершения настройки базы данных оболочки тестового сервера помощником по настройке ядра СУБД он формирует рекомендацию по настройке.
  4. Примените рекомендацию, полученную при настройке тестового сервера, на производственном сервере.

На следующем рисунке показан сценарий с использованием тестового и производственного серверов.

Использование тестового сервера с помощником по настройке ядра СУБД

ms190389.note(ru-ru,SQL.90).gifПримечание.
Возможность выполнения настройки на тестовом сервере не поддерживается в графическом интерфейсе пользователя помощника по настройке ядра СУБД.

Пример

Сначала убедитесь, что пользователь, который хочет работать с тестовым сервером, есть на обоих серверах.

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

В этом примере база данных MyDatabaseName настраивается на сервере MyServerName. Сценарий Transact-SQL, MyWorkloadScript.sql, используется в качестве рабочей нагрузки. Он содержит события, которые будут происходить в базе данных MyDatabaseName. Большая часть вызовов оптимизатора запросов этой базы данных, которые будут производиться во время настройки, обрабатываются базой данных оболочки на сервере MyTestServerName. База данных оболочки состоит из метаданных и статистики. В результате этого настроечная нагрузка переносится на тестовый сервер. Когда помощник по настройке ядра СУБД формирует рекомендацию по настройке с помощью этого входного XML-файла, он принимает в расчет только индексы (<FeatureSet>IDX</FeatureSet>), но не секции, поэтому он может не хранить физические структуры базы данных MyDatabaseName.

См. также

Основные понятия

Вопросы использования тестовых серверов

Другие ресурсы

Справочник по входному XML-файлу (DTA)

Справка и поддержка

Получение помощи по SQL Server 2005