Как создавать рабочие нагрузки

Рабочая нагрузка представляет собой комплект инструкций языка Transact-SQL, выполняемых в одной или нескольких базах данных, которые необходимо настроить. Графический интерфейс пользователя (GUI) помощника по настройке ядра СУБД и программа командной строки dta используют файлы трассировки, таблицы трассировки или сценарии Transact-SQL в качестве входных данных рабочей нагрузки при настройке баз данных. Кроме того, рабочие нагрузки могут быть внедренными во входной XML-файл, где также можно указать весовой коэффициент для каждого события. Дополнительные сведения об указании встроенных рабочих нагрузок см. в разделе Использование входного XML-файла для настройки.

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

ПримечаниеПримечание

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

Создание рабочих нагрузок сценария на языке Transact-SQL при помощи редактора запросов среды SQL Server Management Studio

  1. Запустите редактор запросов в среде Среда SQL Server Management Studio. Сведения о выполнении этого этапа см. в разделе Изменение сценариев и файлов в среде SQL Server Management Studio.

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

Создание рабочих нагрузок файла и таблицы трассировки при помощи приложения SQL Server Profiler

  1. Запустите приложение Приложение SQL Server Profiler одним из следующих способов.

    • В меню Пуск последовательно укажите Все программы, Microsoft SQL Server, Средства обеспечения производительности и выберите пункт SQL Server Profiler.

    • В среде Среда SQL Server Management Studio в меню Сервис выберите пункт Приложение SQL Server Profiler.

  2. Создайте файл или таблицу трассировки, как описано в представленных ниже процедурах, использующих шаблон приложения Приложение SQL Server ProfilerНастройка:

Рекомендуется использовать шаблон настройки приложения SQL Server Profiler для фиксирования рабочих нагрузок для помощника по настройке ядра СУБД.

Если нужно использовать собственный шаблон, следует убедиться, что следующие события трассировки зафиксированы для используемой версии SQL Server.

SQL Server 2005 и более поздние версии:

  • RPC:Completed

  • SQL:BatchCompleted

  • SP:StmtCompleted

SQL Server 2000:

  • RPC:Completed

  • SQL:BatchCompleted

Также можно использовать варианты Starting этих событий трассировки. Например SQL:BatchStarting. Однако варианты Completed этих событий трассировки включают столбец Продолжительность, который позволяет помощнику по настройке ядра СУБД выполнять настройку рабочих нагрузок более эффективно. Помощник по настройке ядра СУБД не выполняет настройку других типов событий трассировки. Дополнительные сведения об этих событиях трассировки см. в разделах Категория событий Stored Procedures и Категория событий TSQL. Сведения об использовании хранимых процедур трассировки SQL для создания рабочей нагрузки файла трассировки см. в разделе Как создать трассировку (Transact-SQL).

Рабочие нагрузки файла или таблицы трассировки, содержащие столбец данных LoginName

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

Избежание предоставления разрешения SHOWPLAN каждому пользователю, указанному в столбце трассировки LoginName

  1. Настройте рабочую нагрузку файла или таблицы трассировки. Дополнительные сведения см. в разделе Как настроить базу данных.

  2. Проверьте журнал настройки для инструкций, которые не были настроены из-за несоответствующих разрешений. Дополнительные сведения см. в разделах О журнале настройки и Как просмотреть выходные данные по настройке.

  3. Создайте новую рабочую нагрузку путем удаления столбца LoginName из событий, которые не были настроены, затем в файле или таблице трассировки сохраните только ненастроенные события. Дополнительные сведения об удалении столбцов данных из трассировки см. в разделе Как задать столбцы для файла трассировки (приложение SQL Server Profiler) или Как изменить существующую трассировку (Transact-SQL).

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

Помощник по настройке ядра СУБД произведет настройку новой рабочей нагрузки, так как сведения об имени входа не указаны в трассировке. Если столбец LoginName не существует для инструкции, помощник по настройке ядра СУБД произведет настройку инструкции путем олицетворения пользователя, запустившего сеанс настройки (являющегося либо членом предопределенной роли сервера sysadmin, либо членом предопределенной роли базы данных db_owner).