Replay Requirements

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

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

Примечание

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

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

Чтобы воспроизведение можно было выполнить с помощью 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

  • Binary Data

  • SPID

  • Start Time

  • EndTime

  • IsSystem

  • NTDomainName

  • NTUserName

  • Error

Примечание

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

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

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

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

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

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

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

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

  • Для каждого имени входа в трассировке должна быть задана база данных по умолчанию, соответствующая целевой базе данных имени входа. Например, на исходном сервере в базе данных Fred_Dbтрассировка для воспроизведения содержит операцию для имени входа Fred . Таким образом, на целевом сервере необходимо задать базу данных по умолчанию для имени входа Fred, соответствующую базе данных 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