Eseguire Database Experimentation Assistant al prompt dei comandi
Nota
Questo strumento verrà ritirato il 15 dicembre 2024. Il supporto di questo strumento verrà interrotto in caso di problemi e non verranno più generati correzioni di bug o ulteriori aggiornamenti.
In questo articolo viene descritto come acquisire una traccia in Database Experimentation Assistant (DEA) e come analizzare i risultati, tutto da un prompt dei comandi.
Nota
Per altre informazioni su ogni operazione DEA, eseguire il comando seguente:
Deacmd.exe -o <operation> --help
È necessario un nome di operazione. Le operazioni valide sono Analysis, StartCapture e StopCapture.
Avviare una nuova acquisizione del carico di lavoro usando il comando DEA
Per avviare una nuova acquisizione del carico di lavoro, eseguire il comando seguente al prompt dei comandi:
Deacmd.exe -o StartCapture -n <Trace FileName> -x <Trace Format> -h <SQLServerInstance> -f <database name> -e <Encrypt Connection> -m <Authentication Mode> -u <user name> -p <password> -l <Location of Output Folder> -d <duration>
Ad esempio:
Deacmd.exe -o StartCapture -n sql2008capture -x 0 -h localhost -f adventureworks -e --trust -m 0 -l c:\test -d 60
Quando si avvia una nuova acquisizione del carico di lavoro con il comando Deacmd.exe
, è possibile usare le opzioni seguenti:
Opzione | Descrizione |
---|---|
-n , --name |
Obbligatorio. Nome del file di traccia. |
-x , --format |
Obbligatorio. Formato della traccia (0 = Traccia, 1 = XEvents). |
-d , --duration |
Obbligatorio. Durata massima dell'acquisizione, in minuti. |
-l , --location |
Obbligatorio. Posizione della cartella di output per l'archiviazione di file di traccia o XEvent nel computer host. |
-t , --type |
Predefinito: 0. Tipo di SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Istanza gestita di SQL di Azure). |
-h , --host |
Obbligatorio. Nome host o nome dell'istanza di SQL Server per avviare l'acquisizione. |
-e , --encrypt |
Impostazione predefinita: true Crittografare la connessione all'istanza di SQL Server. |
--trust |
Valore predefinito: False. Considerare attendibile il certificato del server durante la connessione all'istanza di SQL Server. |
-f , --databasename |
Nome del database per filtrare le tracce; se non viene specificato, l'acquisizione viene avviata in tutti i database. |
-m , --authmode |
Predefinito: 0. Modalità di autenticazione (0 = Windows, 1 = autenticazione SQL). |
-u , --username |
Nome utente per la connessione a SQL Server. |
-p , --password |
Password usata per la connessione a SQL Server. |
Riprodurre un'acquisizione del carico di lavoro
Se si usa Riesecuzione distribuita, seguire questa procedura.
Accedere al computer del controller di Riesecuzione distribuita.
Per convertire la traccia del carico di lavoro acquisita usando il comando DEA in un file IRF, eseguire il comando seguente:
DReplay preprocess -m "dreplaycontroller" -i "Path to first trace file" -d "<Folder path on controller>\IrfFolder"
Avviare un'acquisizione di traccia nel computer di destinazione che esegue SQL Server usando StartReplayCaptureTrace.sql.
a. In SQL Server Management Studio (SSMS) aprire <Dea_InstallPath>\Scripts\StartReplayCaptureTrace.sql.
b. Eseguire
Set @durationInMins=0
in modo che l'acquisizione di traccia non venga interrotta automaticamente dopo un'ora specificata.c. Per impostare le dimensioni massime del file per ogni file di traccia, eseguire
Set @maxfilesize
. La dimensione consigliata è 200 MB.d. Modificare
@Tracefile
per impostare un nome univoco per il file di traccia.e. Modificare
@dbname
per specificare un nome di database se il carico di lavoro deve essere acquisito solo in un database specifico. Per impostazione predefinita, viene acquisito il carico di lavoro nell'intero server.Per riprodurre il file IRF nell'istanza di SQL Server di destinazione, eseguire il comando seguente:
DReplay replay -m "dreplaycontroller" -d "<Folder Path on Dreplay Controller>\IrfFolder" -o -s "SQL2016Target" -w "dreplaychild1,dreplaychild2,dreplaycild3,dreplaychild4"
a. Per monitorare lo stato, eseguire il comando seguente.
DReplay status -f 1
b. Per arrestare la riproduzione, ad esempio se si noterà che la percentuale di passaggio è inferiore al previsto, eseguire il comando seguente:
DReplay cancel
Arrestare l'acquisizione di traccia nell'istanza di SQL Server di destinazione.
In SSMS aprire <Dea_InstallPath>\Scripts\StopCaptureTrace.sql.
Modificare
@Tracefile
in modo che corrisponda al percorso del file di traccia nel computer di destinazione che esegue SQL Server.Eseguire lo script nel computer di destinazione che esegue SQL Server.
Uso di InBuilt Replay
Se si usa InBuilt Replay, non sarà necessario configurare Riesecuzione distribuita. La possibilità di usare InBuilt Replay al prompt dei comandi è in corso. Attualmente, è possibile usare l'interfaccia utente grafica per eseguire la riproduzione usando InBuilt Replay.
Analizzare le tracce usando il comando DEA
Per avviare una nuova analisi di traccia, eseguire il comando seguente:
Deacmd.exe -o analysis -a <Target1 trace filepath> -b <Target2 trace filepath> -r reportname -h <SQLserverInstance> -e <encryptconnection> -u <username>
Ad esempio:
Deacmd.exe -o analysis -a C:\Trace\SQL2008Source\Trace.trc -b C:\ Trace\SQL2014Trace\Trace.trc -r upgrade20082014 -h localhost -e
Per visualizzare i report di analisi di questi file di traccia, è necessario usare l'interfaccia utente grafica per visualizzare grafici e metriche organizzate. Tuttavia, il database di analisi viene scritto nell'istanza di SQL Server specificata, quindi è anche possibile eseguire direttamente query sulle tabelle di analisi generate.
Quando si analizzano tracce usando il comando DEA, è possibile usare le opzioni seguenti:
Opzione | Descrizione |
---|---|
-a , --traceA |
Obbligatorio. Percorso del file di evento per l'istanza A. Esempio: C:\traces\Sql2008trace.trc. Se è presente un batch di file, selezionare il primo file e DEA controlla automaticamente la presenza di file di rollover. Se i file si trovano nel BLOB, specificare il percorso della cartella in cui si desidera archiviare i file dell'evento in locale. Esempio: C:\traces\ |
-b , --traceB |
Obbligatorio. Percorso del file dell'evento per l'istanza B. Esempio: C:\traces\Sql2014trace.trc. Se è presente un batch di file, selezionare il primo file e DEA controlla automaticamente la presenza di file di rollover. Se i file si trovano nel BLOB, specificare il percorso della cartella in cui si desidera archiviare i file dell'evento in locale. Esempio: C:\traces\ |
-r , --ReportName |
Obbligatorio. Nome per l'analisi corrente. Il report di analisi generato viene identificato da questo nome. |
-t , --type |
Predefinito: 0. Tipo di SQL Server (0 = SqlServer, 1 = AzureSQLDB, 2 = Istanza gestita di SQL di Azure). |
-h , --host |
Obbligatorio. Nome host o dell'istanza di SQL Server. |
-e , --encrypt |
Impostazione predefinita: true Crittografare la connessione all'istanza di SQL Server. |
--trust |
Valore predefinito: False. Considerare attendibile il certificato del server durante la connessione all'istanza di SQL Server. |
-m , --authmode |
Predefinito: 0. Modalità di autenticazione (0 = Windows, 1 = autenticazione SQL). |
-u , --username |
Nome utente per la connessione a SQL Server. |
--p |
Password usata per la connessione a SQL Server. |
--ab |
Valore predefinito: False. La posizione di archiviazione della traccia A si trova nel BLOB. Se usato, deve anche specificare --abu (Trace A Blob Url) |
--bb |
Valore predefinito: False. La posizione di archiviazione della traccia B si trova nel BLOB. Se usato, deve anche specificare --bbu (Trace B Blob Url) |
--abu |
URL BLOB per un'istanza A con chiave SAS. |
--bbu |
URL BLOB per un'istanza B con chiave SAS. |
Vedi anche
- Per altre informazioni sull'uso di DEA, vedere Panoramica di Database Experimentation Assistant.