Запись трассировки в помощнике по эксперименту базы данных
Примечание.
Это средство будет прекращено 15 декабря 2024 г. Мы прекратим поддержку этого средства для любых проблем, возникающих, и не будем выдавать исправления ошибок или дальнейшие обновления.
С помощью помощника по эксперименту базы данных (DEA) можно создать файл трассировки с журналом захваченных событий сервера. Записанное событие сервера — это событие, которое происходит на определенном сервере в течение определенного периода времени. Запись трассировки должна выполняться один раз на сервер.
Прежде чем начать запись трассировки, убедитесь, что выполняется резервное копирование всех целевых баз данных.
Кэширование запросов в SQL Server может повлиять на результаты оценки. Рекомендуется перезапустить службу SQL Server (MSSQLSERVER) в приложении служб, чтобы повысить согласованность результатов оценки.
Настройка отслеживания трассировки
В DEA на панели навигации слева выберите значок камеры, а затем на странице "Все записи" выберите "Создать запись".
На странице "Создать запись" в разделе "Сведения о записи" введите или выберите следующие сведения:
Имя записи: введите имя файла трассировки для записи.
Формат: укажите формат (trace или XEvents) для записи.
Длительность. Выберите продолжительность (в минутах), в течение которого требуется выполнить запись трассировки.
Расположение записи: выберите путь назначения для файла трассировки.
Примечание.
Путь к файлу трассировки должен находиться на компьютере под управлением SQL Server. Если служба SQL Server не задана для определенной учетной записи, службе может потребоваться разрешение на запись в указанную папку для записи файла трассировки.
Убедитесь, что вы создали резервную копию , нажав кнопку "Да", установите флажок "Да" вручную.
В разделе " Сведения о записи" введите или выберите следующие сведения:
- Тип сервера: укажите тип SQL Server (SqlServer, AzureSqlDb, AzureSqlManagedInstance).
- Имя сервера: укажите имя сервера или IP-адрес sql Server.
- Тип проверки подлинности: для типа проверки подлинности выберите Windows.
- Имя базы данных: введите имя базы данных, в которой нужно запустить трассировку базы данных. Если база данных не указана, трассировка записывается во всех базах данных на сервере.
Установите или отключите флажки для сертификата сервера шифрования подключения и доверия, соответствующие вашему сценарию.
Запуск записи трассировки
После ввода или выбора необходимых сведений нажмите кнопку "Пуск ", чтобы инициировать запись трассировки.
Если введенная информация действительна, начинается процесс отслеживания трассировки. В противном случае текстовые поля с недопустимыми записями выделены красным цветом. Если возникают ошибки, исправьте все необходимые записи и нажмите кнопку "Пуск ".
Во время выполнения записи трассировки в разделе "Сведения о записи" отображается состояние и ход выполнения процесса отслеживания трассировки.
После завершения записи трассировки новый файл трассировки (TRC) сохраняется в расположении отслеживания, определенном во время начальной настройки.
Файл трассировки содержит результаты трассировки действия базы данных SQL Server. TRC-файлы предназначены для предоставления дополнительных сведений об ошибках, обнаруженных и сообщаемых SQL Server.
Часто задаваемые вопросы о отслеживании трассировки
Ниже приведены некоторые часто задаваемые вопросы о отслеживании трассировки в DEA.
Вопрос. Какие события фиксируются при выполнении записи трассировки в рабочей базе данных?
В следующей таблице перечислены события и соответствующие данные столбца, собираемые DEA для трассировки:
Имя события | Текстовые данные (1) | Двоичные данные (2) | Идентификатор базы данных (3) | Имя узла (8) | Имя приложения (10) | Имя входа (11) | SPID (12) | Время начала (14) | Время окончания (15) | Имя базы данных (35) | Последовательность событий (51) | IsSystem (60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
RPC:Completed (10) | * | * | * | * | * | * | * | * | * | * | * | |
RPC:Начало (11) | * | * | * | * | * | * | * | * | * | * | ||
Выходной параметр RPC (100) | * | * | * | * | * | * | * | * | * | * | ||
SQL:BatchCompleted (12) | * | * | * | * | * | * | * | * | * | * | * | |
SQL:BatchStarting (13) | * | * | * | * | * | * | * | * | * | * | ||
Аудит входа (14) | * | * | * | * | * | * | * | * | * | * | * | |
Аудит выхода (15) | * | * | * | * | * | * | * | * | * | * | * | |
ExistingConnection (17) | * | * | * | * | * | * | * | * | * | * | * | |
CursorOpen (53) | * | * | * | * | * | * | * | * | * | * | ||
CursorPrepare (70) | * | * | * | * | * | * | * | * | * | * | ||
Подготовка SQL (71) | * | * | * | * | * | * | * | * | * | |||
Exec Prepared SQL (72) | * | * | * | * | * | * | * | * | * | |||
CursorExecute (74) | * | * | * | * | * | * | * | * | * | * | ||
CursorUnprepare (77) | * | * | * | * | * | * | * | * | * | * | ||
CursorClose (78) | * | * | * | * | * | * | * | * | * | * |
Вопрос. Влияет ли производительность на рабочий сервер при выполнении записи трассировки?
Да, во время сбора трассировки существует минимальный эффект производительности. В наших тестах мы обнаружили около 3% давления памяти.
Вопрос. Какие разрешения необходимы для записи трассировок в рабочей рабочей нагрузке?
- Пользователь Windows, выполняющий операцию трассировки в приложении DEA, должен иметь права sysadmin на компьютере под управлением SQL Server.
- Учетная запись службы, используемая на компьютере под управлением SQL Server, должна иметь доступ на запись к указанному пути к файлу трассировки.
Вопрос. Можно ли записывать трассировки для всего сервера или только в одной базе данных?
Вы можете использовать DEA для записи трассировок для всех баз данных на сервере или для одной базы данных.
Вопрос. У меня есть связанный сервер, настроенный в рабочей среде. Отображаются ли эти запросы в трассировках?
Если вы выполняете запись трассировки для всего сервера, трассировка записывает все запросы, включая запросы связанного сервера. Чтобы запустить запись трассировки для всего сервера, оставьте поле имени базы данных пустым.
Вопрос. Что такое минимальное рекомендуемое время для трассировок рабочей нагрузки?
Рекомендуется выбрать время, которое лучше всего представляет всю рабочую нагрузку. Таким образом, анализ выполняется во всех запросах рабочей нагрузки.
Вопрос. Насколько важно создать резервную копию базы данных прямо перед началом записи трассировки?
Прежде чем начать запись трассировки, убедитесь, что вы создайте резервную копию всех целевых баз данных. Записанная трассировка в Target 1 и Target 2 воспроизводит. Если состояние базы данных не совпадает, результаты эксперимента будут отклонены.
Вопрос. Можно ли собирать XEvents вместо трассировок, и можно ли воспроизводить XEvents?
Да. DEA поддерживает XEvents. Скачайте последнюю версию DEA и попробуйте.
Устранение неполадок с записью трассировки
Если при запуске записи трассировки возникает ошибка, убедитесь, что:
- Допустимое имя компьютера под управлением SQL Server. Чтобы подтвердить, попробуйте подключиться к компьютеру под управлением SQL Server с помощью SQL Server Management Studio (SSMS).
- Конфигурация брандмауэра не блокирует подключения к компьютеру под управлением SQL Server.
- У пользователя есть разрешения, перечисленные в часто задаваемых вопросы и ответы о воспроизведениях.
- Имя трассировки не соответствует стандартному соглашению о переключение (Capture_1). Вместо этого попробуйте использовать такие имена трассировки, как Capture_1A или Capture1.
Ниже приведены некоторые возможные ошибки, которые могут возникнуть, и решения для их разрешения:
Возможные ошибки | Решение |
---|---|
Не удается запустить трассировку на целевом сервере SQL Server, проверьте наличие необходимых разрешений и наличие у учетной записи SQL Server доступа на запись к указанному пути к пути к файлу трассировки Sql Error Code (53) | Пользователь, на котором запущено средство DEA, должен иметь доступ к компьютеру под управлением SQL Server. Пользователю должна быть назначена роль sysadmin. |
Не удается запустить трассировку на целевом сервере SQL Server, проверьте, есть ли необходимые разрешения и у учетной записи SQL Server есть доступ на запись в указанный путь к файлу трассировки Sql Error Code (19062) | Указанный путь трассировки может не существовать, или папка не имеет разрешений на запись для учетной записи, в которой выполняются службы SQL Server (например, NETWORK SERVICE). Путь должен существовать, и он должен иметь необходимые разрешения для запуска трассировки. |
Трассировка DEA в настоящее время выполняется на целевом сервере. | Активная трассировка уже выполняется на целевом сервере. Вы не можете запустить новую трассировку, когда уже запущена трассировка на уровне сервера. |
Не удается открыть запрошенную базу данных для записи трассировки. Эта ошибка может быть вызвана неправильным именем базы данных. | Указанная база данных не существует или недоступна текущему пользователю. Используйте правильное имя базы данных. |
Если вы видите другие ошибки, помеченные кодом ошибки SQL, см. ядро СУБД ошибки для подробных описаний.
См. также
- Сведения о настройке средств распределенное воспроизведение в SQL Server перед воспроизведением записанной трассировки см. в статье "Настройка распределенное воспроизведение для помощника по экспериментам базы данных".