Condividi tramite


Riprodurre una traccia in Database Experimentation Assistant

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 Database Experimentation Assistant (DEA) è possibile riprodurre un file di traccia acquisito in un ambiente di testing aggiornato. Si consideri, ad esempio, un carico di lavoro di produzione in esecuzione in SQL Server 2008 R2. Il file di traccia per il carico di lavoro deve essere riprodotto due volte: una volta in un ambiente con la stessa versione di SQL Server in esecuzione nell'ambiente di produzione e una seconda volta in un ambiente con la versione di SQL Server di destinazione dell'aggiornamento, ad esempio SQL Server 2016.

Nota

Per la riproduzione di una traccia è necessario configurare manualmente macchine virtuali o computer fisici per eseguire le tracce di Riesecuzione distribuita. Per altre informazioni, vedere Configurare Riesecuzione distribuita per Database Experimentation Assistant.

Configurare una riproduzione della traccia per la destinazione 1

Prima di tutto, è necessario eseguire una riproduzione della traccia sulla destinazione 1, che rappresenta l'ambiente di produzione esistente.

  1. In DEA, sulla barra di spostamento a sinistra selezionare l'icona della fotocamera e quindi nella pagina Tutte le riproduzioni selezionare Nuova riproduzione.

    Creare una riproduzione in DEA

    Nota

    Il computer controller Riesecuzione distribuita richiede le autorizzazioni per l'account utente usato per la connessione remota.

  2. Nella pagina Nuova riproduzione, in Dettagli riproduzione immettere o selezionare le informazioni seguenti:

    • Nome riproduzione: immettere un nome per la riproduzione della traccia.

    • Formato traccia di origine: specificare il formato (Trace o XEvents) del file di traccia di origine.

    • Percorso completo del file di origine: specificare il percorso completo del file di traccia di origine. Se si usa DReplay, il file deve esistere nel computer che funge da controller DReplay e l'account utente richiederà l'accesso al file e alla cartella.

    • Strumento di riproduzione: specificare lo strumento di riproduzione (DReplay o InBuilt).

    • Nome computer controller: specificare il nome del computer che funge da controller di Riesecuzione distribuita.

    • Posizione traccia di riproduzione: specificare il percorso per archiviare i file di traccia/XEvent associati alla riproduzione della traccia.

      Nota

      Per un database SQL di Azure o un'istanza gestita di database SQL di Azure, sarà necessario specificare l'URI SAS dell'account di archiviazione BLOB di Azure.

  3. Verificare di aver ripristinato i database selezionando la casella di controllo Sì, ho ripristinato manualmente i database.

  4. In Dettagli connessione SQL Server immettere o selezionare le informazioni seguenti:

    • Tipo di server: specificare il tipo di SQL Server (SqlServer, AzureSqlDb, AzureSqlManagedInstance).
    • Nome server: specificare il nome del server o l'indirizzo IP di SQL Server.
    • Tipo di autenticazione: selezionare Windows come tipo di autenticazione.
    • Nome database: immettere un nome per un database in cui avviare una traccia lato server. Se non si specifica un database, la traccia viene acquisita in tutti i database del server.
  5. Selezionare o deselezionare le caselle di controllo Crittografia connessione e Considera attendibile il certificato del server in base al proprio scenario.

    Pagina Nuova riproduzione

Avviare la riproduzione della traccia nella destinazione 1

  • Dopo aver immesso o selezionato le informazioni necessarie, selezionare Åvvia per iniziare la riproduzione della traccia.

    Se le informazioni immesse sono valide, viene avviato il processo di Riesecuzione distribuita. In caso contrario, le caselle di testo con informazioni non corrette vengono evidenziate con il rosso. Assicurarsi che i valori immessi siano corretti e quindi selezionare Avvia.

    Stato di riproduzione rispetto alla destinazione 1

    È possibile monitorare il processo in base alle esigenze. Al termine dell'esecuzione della riproduzione, DEA archivierà i risultati in un file nel percorso specificato.

    Riproduzione con destinazione 1 completata

Eseguire la riproduzione della traccia sulla destinazione 2

Dopo aver completato l'esecuzione della riproduzione della traccia sulla destinazione 1, è necessario eseguire la stessa operazione sulla seconda destinazione, che rappresenta l'ambiente di aggiornamento previsto.

  1. Configurare una riproduzione della traccia, questa volta usando i dettagli associati all'ambiente di destinazione 2.

  2. Avviare la riproduzione della traccia nella destinazione 2.

    È possibile monitorare il processo in base alle esigenze. Al termine dell'esecuzione della riproduzione, DEA archivierà i risultati in un file nel percorso specificato.

Domande frequenti relative alla riproduzione della traccia

D: Quali autorizzazioni di sicurezza sono necessarie per avviare un'acquisizione di riproduzione nel server di destinazione?

  • L'utente di Windows che esegue l'operazione di traccia nell'applicazione DEA deve disporre dei diritti di amministratore di sistema nel computer che esegue SQL Server. Questi diritti utente sono necessari per avviare una traccia.
  • L'account del servizio in cui è in esecuzione il computer di destinazione che esegue SQL Server deve avere accesso in scrittura al percorso del file di traccia specificato.
  • L'account del servizio con cui vengono eseguiti i servizi client di Riesecuzione distribuita deve disporre dei diritti utente per connettersi al computer di destinazione che esegue SQL Server e per eseguire query.

D: È possibile avviare più riproduzioni nella stessa sessione?

Sì, è possibile avviare più riproduzioni e tenere traccia del loro completamento nella stessa sessione.

D: È possibile avviare più riproduzioni in parallelo?

Sì, ma non con lo stesso set di computer selezionato in Controller più Client. Il controller e i client saranno occupati. Configurare un set separato di computer in Controller più Client per avviare una riproduzione parallela.

D: Quanto tempo richiede in genere il completamento di una riproduzione?

Una riproduzione richiede in genere la stessa quantità di tempo della traccia di origine più il tempo necessario per pre-elaborare la traccia di origine. Tuttavia, se i computer client registrati con il controller non sono sufficienti per gestire il carico prodotto dalla riproduzione, il completamento della riproduzione potrebbe richiedere più tempo. È possibile registrare fino a 16 computer client con il controller.

D: Quanto sono grandi i file di traccia di destinazione?

I file di traccia di destinazione possono essere tra le 5 e le 15 volte più grandi della traccia di origine. Le dimensioni del file si basano sul numero di query eseguite. Ad esempio, i BLOB del piano di query potrebbero essere di grandi dimensioni. Se le statistiche per queste query cambiano spesso, vengono acquisiti più eventi.

D: Perché è necessario ripristinare i database?

SQL Server è un sistema di gestione di database relazionali con stato. Per eseguire correttamente un test A/B, è necessario conservare sempre lo stato del database. In caso contrario, potrebbero essere visualizzati errori nelle query durante la riproduzione che non appariranno nell'ambiente di produzione. Per evitare questi errori, è consigliabile eseguire un backup subito prima dell'acquisizione dell'origine. Allo stesso modo, il ripristino del backup nel computer di destinazione che esegue SQL Server è necessario per evitare errori durante la riproduzione.

D: Cosa significa "% di riuscita" nella pagina di riproduzione?

% di riuscita indica che solo una percentuale di query ha avuto esito positivo. È possibile diagnosticare se il numero di errori è previsto. Gli errori possono essere previsti oppure possono verificarsi perché il database ha perso l'integrità. Se il valore per % di riuscita non è quello previsto, è possibile arrestare la traccia ed esaminare il file di traccia in SQL Profiler per verificare quali query non sono riuscite.

D: Come è possibile esaminare gli eventi di traccia raccolti durante la riproduzione?

Aprire un file di traccia di destinazione e visualizzarlo in SQL Profiler. In alternativa, se si desidera apportare modifiche all'acquisizione di riproduzione, tutti gli script di SQL Server sono disponibili in C:\Programmi (x86)\Microsoft Corporation\Database Experimentation Assistant\Scripts\StartReplayCapture.sql.

D: Quali eventi di traccia raccoglie DEA durante la riproduzione?

DEA acquisisce gli eventi di traccia che contengono informazioni correlate alle prestazioni. La configurazione dell'acquisizione si trova nello script di StartReplayCaptureTrace.sql. Questi eventi sono eventi di traccia tipici di SQL Server elencati nella documentazione di riferimento di sp_trace_setevent (Transact-SQL).

Risolvere i problemi di riproduzione della traccia

D: Perché non è possibile connettersi al computer che esegue SQL Server?

  • Verifica che il nome del computer che esegue SQL Server sia valido. Per confermare, provare a connettersi al server usando SQL Server Management Studio (SSMS).
  • Verificare che la configurazione del firewall non blocchi le connessioni al computer che esegue SQL Server.
  • Verificare che l'utente disponga dei diritti utente necessari.
  • Verificare che l'account del servizio del client di Riesecuzione distribuita abbia accesso al computer che esegue SQL Server.

È possibile visualizzare altri dettagli nei log in %temp%\DEA. Se il problema persiste, contattare il team del prodotto.

D: Perché non è possibile connettersi al controller Riesecuzione distribuita?

  • Verificare che il servizio controller di Riesecuzione distribuita sia in esecuzione sulla macchina del controller. Per verificare, usare gli strumenti di gestione di Riesecuzione distribuita (eseguire il comando dreplay.exe status -f 1).
  • Se la riproduzione viene avviata in modalità remota:
    • Verificare che il computer che esegue DEA possa eseguire correttamente il ping del controller. Verificare che le impostazioni del firewall consentano le connessioni in base alle istruzioni nella pagina Configura ambiente di riproduzione. Per altre informazioni, vedere l'articolo Riesecuzione distribuita di SQL Server.
    • Assicurarsi che l'avvio remoto DCOM e l'attivazione remota siano consentiti per l'utente del controller Riesecuzione distribuita.
    • Assicurarsi che i diritti utente di Accesso remoto DCOM siano consentiti per l'utente del controller Riesecuzione distribuita.

D: Il percorso del file di traccia esiste nel computer. Perché il controller di Riesecuzione distribuita non lo trova?

Riesecuzione distribuita può accedere solo alle risorse del disco locale. È necessario copiare i file di traccia di origine nel computer del controller Riesecuzione distribuita prima di avviare la riproduzione. Inoltre, è necessario specificare il percorso nella pagina Nuova riproduzione di DEA.

I percorsi UNC non sono compatibili con Riesecuzione distribuita. I percorsi di Riesecuzione distribuita devono essere percorsi assoluti locali per il primo file di traccia di origine, inclusa l'estensione.

D: Perché non è possibile cercare i file nella pagina Nuova riproduzione?

Poiché non è possibile esplorare le cartelle in un computer remoto, l'esplorazione dei file non è utile. È più efficiente copiare e incollare i percorsi assoluti.

D: Ho iniziato una riproduzione con una traccia, ma Riesecuzione distribuita non ha riprodotto alcun evento. Perché?

Questo problema può verificarsi perché il file di traccia non dispone di eventi riproducibili o di informazioni su come riprodurre gli eventi. Verificare se il percorso del file di traccia specificato punta a un file di traccia di origine. Il file di traccia di origine viene creato usando la configurazione fornita nello script StartCaptureTrace.sql.

D: Viene visualizzato "Si è verificato un errore imprevisto" quando si prova a pre-elaborare i file di traccia usando il controller di Riesecuzione distribuita di SQL Server 2017. Perché?

Questo problema è noto nella versione RTM di SQL Server 2017. Per altre informazioni, vedere Errore imprevisto quando si usa la funzionalità DReplay per riprodurre una traccia acquisita in SQL Server 2017.

Il problema è stato risolto nell'ultimo aggiornamento cumulativo 1 per SQL Server 2017. Scaricare l'aggiornamento cumulativo 1 più recente per SQL Server 2017.

Vedi anche

  • Per creare un report di analisi che consente di ottenere informazioni dettagliate sulle modifiche proposte, vedere Creare report.