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

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

Замечание

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

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

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

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

  • CursorExecute (только при повторной обработке курсоров на сервере)

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

  • CursorPrepare (только при повторной настройке курсоров на стороне сервера)

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

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

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

  • ExistingConnection

  • Выходной параметр RPC

  • RPC:Completed

  • RPC:Запуск

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

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

  • SQL:BatchCompleted

  • SQL:BatchStarting

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

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

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

  • EventSequence

  • TextData

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

  • Имя входа

  • Имя базы данных

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

  • ClientProcessID

  • Имя хоста

  • Имя сервера

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

  • SPID

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

  • EndTime

  • IsSystem

  • NTDomainName

  • NTUserName

  • Ошибка

Замечание

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

Другие требования к повторам

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

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

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

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

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

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

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

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

Сведения о разрешениях, необходимых для воспроизведения трассировки, см. в разделе Permissions Required to Run SQL Server Profiler.

См. также

Воспроизвести таблицу трассировки (SQL Server Profiler)
Воспроизвести файл трассировки (SQL Server Profiler)
Справочник по классам событий SQL Server
sp_defaultdb (Transact-SQL)
SQL Server Distributed Replay