Бөлісу құралы:


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

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

  • EndTime

  • IsSystem

  • NTDomainName

  • NTUserName

  • Ошибка

Примечание.

В трассировках, захватывающих данные для воспроизведения, следует использовать шаблон 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