Требования к воспроизведению

Для воспроизведения данных трассировки с помощью Приложение SQL Server Profiler или программы распределенного воспроизведения в трассировке должен быть записан определенный набор классов событий и столбцов. Если для настройки трассировки, которая в дальнейшем используется для воспроизведения, применяется шаблон трассировки TSQL_Replay, то по умолчанию эти параметры включены. В этом разделе приводится описание этих параметров и других требований к воспроизведению.

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

Для воспроизведения ресурсоемких приложений OLTP (с множеством одновременных активных соединений или высокой пропускной способностью) рекомендуется пользоваться программой распределенного воспроизведения. Программа распределенного воспроизведения воспроизводит данные трассировки с нескольких компьютеров и лучше имитирует важную рабочую нагрузку. Дополнительные сведения см. в разделе Распределенное воспроизведение SQL Server.

Классы событий, необходимые для воспроизведения

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

  • **CursorClose (**требуется только при воспроизведении курсоров со стороны сервера);

  • CursorExecute (требуется только при воспроизведении курсоров со стороны сервера);

  • CursorOpen (требуется только при воспроизведении курсоров со стороны сервера);

  • CursorPrepare (требуется только при воспроизведении курсоров со стороны сервера);

  • CursorUnprepare (требуется только при воспроизведении курсоров со стороны сервера);

  • Аудит входа в систему

  • Аудит выхода из системы

  • ExistingConnection

  • RPC Output Parameter

  • RPC:Completed

  • RPC:Starting

  • Exec Prepared SQL (требуется только при воспроизведении подготовленных инструкций SQL на стороне сервера);

  • Prepare SQL (требуется только при воспроизведении подготовленных инструкций SQL на стороне сервера);

  • SQL:BatchCompleted

  • SQL:BatchStarting

Столбцы данных, необходимые для воспроизведения

Чтобы обеспечить воспроизведение трассировки, в дополнение к любым захватываемым столбцам данных должны захватываться следующие столбцы:

  • Класс события

  • EventSequence

  • TextData

  • Имя приложения

  • LoginName

  • DatabaseName

  • Идентификатор базы данных

  • ClientProcessID

  • HostName

  • ServerName

  • Двоичные данные

  • SPID

  • Время начала

  • EndTime

  • IsSystem

  • NTDomainName

  • NTUserName

  • Ошибка

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

В трассировках, захватывающих данные для воспроизведения, следует использовать шаблон TSQL_Replay.

Другие требования к воспроизведению

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

Для воспроизведения трассировки на целевом сервере, на котором запущен SQL Server, отличном от исходного сервера, где первоначально выполнялась трассировка, убедитесь, что выполнены следующие действия:

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

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

  • Все пароли должны совпадать с паролями пользователя, выполняющего воспроизведение.

  • Желательно, чтобы идентификаторы баз данных на целевом и на исходном серверах совпадали. Впрочем, если они не совпадают, соответствие можно установить по параметру DatabaseName, если он есть в трассировке.

  • Для каждого имени входа в трассировке должна быть задана база данных по умолчанию, соответствующая целевой базе данных имени входа. Например, на исходном сервере в базе данных Fred_Db трассировка для воспроизведения содержит операцию для имени входа Fred. Таким образом, на целевом сервере необходимо задать базу данных по умолчанию для имени входа Fred, соответствующую базе данных Fred_Db (даже если имена баз данных различаются). Базу данных по умолчанию для имени входа можно задать с помощью хранимой процедуры sp_defaultdb.

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

Сведения о разрешениях, необходимых для воспроизведения трассировки, см. в разделе Разрешения, необходимые для запуска приложения SQL Server Profiler.

См. также

Задания

воспроизвести таблицу трассировки (приложение SQL Server Profiler)

воспроизвести файл трассировки (приложение SQL Server Profiler)

Справочник

Руководство по классам событий SQL Server

sp_defaultdb (Transact-SQL)

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

Распределенное воспроизведение SQL Server