Запуск помощника по эксперименту базы данных в командной строке
Примечание.
Это средство будет прекращено 15 декабря 2024 г. Мы прекратим поддержку этого средства для любых проблем, возникающих, и не будем выдавать исправления ошибок или дальнейшие обновления.
В этой статье описывается, как записать трассировку в помощнике по эксперименту базы данных (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
помощью команды можно использовать следующие параметры:
Вариант | Описание |
---|---|
-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. |
Воспроизведение записи рабочей нагрузки
Если вы используете распределенное воспроизведение, выполните следующие действия.
Войдите на компьютер контроллера распределенное воспроизведение.
Чтобы преобразовать трассировку рабочей нагрузки, записанную с помощью команды DEA, в файл IRF, выполните следующую команду:
DReplay preprocess -m "dreplaycontroller" -i "Path to first trace file" -d "<Folder path on controller>\IrfFolder"
Запустите запись трассировки на целевом компьютере под управлением SQL Server с помощью StartReplayCaptureTrace.sql.
a. В SQL Server Management Studio (SSMS) откройте <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.
b. Запустите
Set @durationInMins=0
так, чтобы запись трассировки не прерывается автоматически после указанного времени.c. Чтобы задать максимальный размер файла трассировки, выполните команду
Set @maxfilesize
. Рекомендуемый размер — 200 МБ.d. Измените
@Tracefile
, чтобы задать уникальное имя файла трассировки.д) Измените
@dbname
имя базы данных, если рабочая нагрузка должна быть записана только в определенной базе данных. По умолчанию рабочая нагрузка на всем сервере фиксируется.Чтобы воспроизвести файл IRF в целевом экземпляре SQL Server, выполните следующую команду:
DReplay replay -m "dreplaycontroller" -d "<Folder Path on Dreplay Controller>\IrfFolder" -o -s "SQL2016Target" -w "dreplaychild1,dreplaychild2,dreplaycild3,dreplaychild4"
a. Чтобы отслеживать состояние, выполните следующую команду:
DReplay status -f 1
b. Чтобы остановить воспроизведение, например, если вы видите, что процент прохода ниже ожидаемого, выполните следующую команду:
DReplay cancel
Остановите запись трассировки в целевом экземпляре SQL Server.
В SSMS откройте <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.
Измените
@Tracefile
путь к файлу трассировки на целевом компьютере под управлением SQL Server.Запустите скрипт на целевом компьютере под управлением 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 можно использовать следующие параметры:
Вариант | Описание |
---|---|
-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 см. в разделе "Обзор помощника по экспериментации баз данных".