Replay Requirements
Для воспроизведения данных трассировки с помощью 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