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


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

применимо к:SQL ServerУправляемому экземпляру SQL Azure

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

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

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

Чтобы 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.

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

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