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


Запуск помощника по эксперименту базы данных в командной строке

В этой статье описывается, как записать трассировку в помощнике по эксперименту базы данных (DEA), а затем проанализировать результаты из командной строки.

Заметка

Чтобы узнать больше о каждой операции DEA, выполните следующую команду:

Deacmd.exe -o <operation> --help

Требуется имя операции. Допустимые операции: Analysis, StartCapture и StopCapture.

Запуск записи новой рабочей нагрузки с помощью команды DEA

Чтобы запустить запись новой рабочей нагрузки, в командной строке выполните следующую команду:

Deacmd.exe -o StartCapture -n <Trace FileName> -x <Trace Format> -h <SQLServerInstance> -f <database name> -e <Encrypt Connection> -m <Authetication Mode> -u <user name> -p <password> -l <Location of Output Folder> -d <duration>

Например:

Deacmd.exe -o StartCapture -n sql2008capture -x 0 -h localhost -f adventureworks -e --trust -m 0 -l c:\test  -d 60

При запуске записи новой рабочей нагрузки с Deacmd.exe помощью команды можно использовать следующие параметры:

Вариант Description
-n, --name Необходимые. Имя файла трассировки.
-x, --format Необходимые. Формат трассировки (0 = трассировка, 1 = XEvents).
-d, --duration Необходимые. Максимальная длительность записи в минутах.
-l, --location Необходимые. Расположение выходной папки для хранения файлов трассировки или XEvent на хост-компьютере.
-t, --type По умолчанию: 0. Тип SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Управляемый экземпляр SQL Azure).
-h, --host Необходимые. Имя узла SQL Server или имя экземпляра для запуска записи.
-e, --encrypt По умолчанию: True. Шифрование подключения к экземпляру SQL Server.
--trust Значение по умолчанию: False. Сертификат сервера доверия при подключении к экземпляру SQL Server.
-f, --databasename Имя базы данных для фильтрации трассировок, если запись не указана во всех базах данных.
-m, --authmode По умолчанию: 0. Режим проверки подлинности (0 = Windows, 1 = проверка подлинности SQL).
-u, --username Имя пользователя для подключения к SQL Server.
-p, --password Пароль для подключения к SQL Server.

Воспроизведение записи рабочей нагрузки

Если вы используете распределенное воспроизведение, выполните следующие действия.

  1. Войдите на компьютер контроллера распределенного воспроизведения.

  2. Чтобы преобразовать трассировку рабочей нагрузки, записанную с помощью команды DEA, в файл IRF, выполните следующую команду:

    DReplay preprocess -m "dreplaycontroller" -i "Path to first trace file" -d "<Folder path on controller>\IrfFolder"
    
  3. Запустите запись трассировки на целевом компьютере под управлением SQL Server с помощью StartReplayCaptureTrace.sql.

    А. В SQL Server Management Studio (SSMS) откройте <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.

    b. Запустите Set @durationInMins=0 так, чтобы запись трассировки не прерывается автоматически после указанного времени.

    c. Чтобы задать максимальный размер файла трассировки, выполните команду Set @maxfilesize. Рекомендуемый размер — 200 МБ.

    d. Измените @Tracefile , чтобы задать уникальное имя файла трассировки.

    д) Измените @dbname имя базы данных, если рабочая нагрузка должна быть записана только в определенной базе данных. По умолчанию рабочая нагрузка на всем сервере фиксируется.

  4. Чтобы воспроизвести файл IRF в целевом экземпляре SQL Server, выполните следующую команду:

    DReplay replay -m "dreplaycontroller" -d "<Folder Path on Dreplay Controller>\IrfFolder" -o -s "SQL2016Target" -w "dreplaychild1,dreplaychild2,dreplaycild3,dreplaychild4"
    

    А. Чтобы отслеживать состояние, выполните следующую команду:

    DReplay status -f 1
    

    b. Чтобы остановить воспроизведение, например, если вы видите, что процент прохода ниже ожидаемого, выполните следующую команду:

    DReplay cancel
    
  5. Остановите запись трассировки в целевом экземпляре SQL Server.

  6. В SSMS откройте <файл Dea_InstallPath>\Scripts\StopCaptureTrace.sql.

  7. Измените @Tracefile путь к файлу трассировки на целевом компьютере под управлением SQL Server.

  8. Запустите скрипт на целевом компьютере под управлением SQL Server.

Использование встроенного воспроизведения

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

Анализ трассировок с помощью команды DEA

Чтобы запустить новый анализ трассировки, выполните следующую команду:

Deacmd.exe -o analysis -a <Target1 trace filepath> -b <Target2 trace filepath> -r reportname -h <SQLserverInstance> -e <encryptconnection> -u <username>

Например:

Deacmd.exe -o analysis -a C:\Trace\SQL2008Source\Trace.trc -b C:\ Trace\SQL2014Trace\Trace.trc -r upgrade20082014 -h localhost -e

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

При анализе трассировок с помощью команды DEA можно использовать следующие параметры:

Вариант Description
-a, --traceA Необходимые. Путь к файлу события для экземпляра A. Пример: C:\traces\Sql2008trace.trc. Если есть пакет файлов, выберите первый файл и DEA проверяет наличие файлов отката автоматически. Если файлы находятся в большом двоичном объекте, укажите путь к папке, в которой хранятся файлы событий локально. Пример: C:\traces\
-b, --traceB Необходимые. Путь к файлу событий для экземпляра B. Пример: C:\traces\Sql2014trace.trc. Если есть пакет файлов, выберите первый файл и DEA проверяет наличие файлов отката автоматически. Если файлы находятся в большом двоичном объекте, укажите путь к папке, в которой хранятся файлы событий локально. Пример: C:\traces\
-r, --ReportName Необходимые. Имя текущего анализа. Созданный отчет анализа определяется этим именем.
-t, --type По умолчанию: 0. Тип SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Управляемый экземпляр SQL Azure).
-h, --host Необходимые. Имя узла SQL Server или имя экземпляра.
-e, --encrypt По умолчанию: True. Шифрование подключения к экземпляру SQL Server.
--trust Значение по умолчанию: False. Сертификат сервера доверия при подключении к экземпляру SQL Server.
-m, --authmode По умолчанию: 0. Режим проверки подлинности (0 = Windows, 1 = проверка подлинности SQL).
-u, --username Имя пользователя для подключения к SQL Server.
--p Пароль для подключения к SQL Server.
--ab Значение по умолчанию: False. Расположение хранилища трассировки A находится в большом двоичном объекте. При использовании также необходимо указать --abu (Trace A Blob Url)
--bb Значение по умолчанию: False. Расположение хранилища трассировки B находится в большом двоичном объекте. При использовании также необходимо указать --bbu (Trace B Blob Url)
--abu URL-адрес BLOB-объектов для экземпляра с ключом SAS.
--bbu URL-адрес BLOB-объектов для экземпляра B с ключом SAS.

См. также

  • Дополнительные сведения об использовании DEA см. в разделе "Обзор помощника по экспериментации баз данных".