Condividi tramite


Riprodurre una traccia in Database Experimentation Assistant

Nota

Questo strumento è stato ritirato in data 15 dicembre 2024. Abbiamo smesso di supportare questo strumento per eventuali problemi che si verificano e non emetterà correzioni di bug o altri aggiornamenti.

In Database Experimentation Assistant (DEA) è possibile riprodurre un file di traccia acquisito in un ambiente di test 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

La riesecuzione di una traccia richiede di configurare manualmente macchine virtuali o computer fisici per eseguire le tracce di Riesecuzione Distribuita. Per ulteriori informazioni, vedere Configurare Riproduzione Distribuita per Database Experimentation Assistant.

Configurare una riproduzione del tracciato 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 navigazione a sinistra, selezionare l'icona a forma di freccia e quindi nella pagina Tutti i Replay selezionare Nuovo Replay.

    Screenshot della creazione di una riproduzione in DEA.

    Nota

    Il computer del controller di Riproduzione Distribuita richiede autorizzazioni per l'account utente utilizzato per connettersi da remoto.

  2. Nella pagina Nuova Riesecuzione, sotto Dettagli riesecuzione, immettere o selezionare le informazioni seguenti:

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

    • Formato del file di traccia di origine: specificare il formato (traccia 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 richiede l'accesso al file e alla cartella.

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

    • Nome computer del controller: specificare il nome del computer che funge da Controller di Replay Distribuito.

    • Riprodurre il percorso di traccia: 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 SQL di Azure, è necessario fornire l'URI SAS dell'account Azure Blob Storage.

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

  4. Nei dettagli di connessione di 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: per il tipo di autenticazione selezionare Windows.
    • Nome database: immettere un nome per un database in cui avviare una traccia sul 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 Encrypt connection e Trust server certificate appropriate per lo scenario in uso.

    Istantanea della schermata Nuova Riproduzione.

Avvia la riproduzione della traccia sul target 1

  • Dopo aver immesso o selezionato le informazioni necessarie, selezionare Avvia per avviare 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.

    Screenshot dell'avanzamento della riproduzione rispetto all'obiettivo 1.

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

    Screenshot della ripetizione per l'obiettivo 1 completata.

Eseguire la riproduzione della traccia sulla destinazione numero 2

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

  1. Configurare la riproduzione della traccia, stavolta utilizzando 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. Quando la riproduzione è stata completata, DEA archivierà i risultati in un file nel percorso specificato.

Domande frequenti sulla riproduzione delle tracce

Q: 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 sysadmin nel computer di destinazione 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 sotto il quale vengono eseguiti i servizi del Client di Riesecuzione Distribuita deve disporre dei diritti utente per connettersi al computer di destinazione che esegue SQL Server e per eseguire query.

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

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

Q: È possibile avviare più riproduzioni in parallelo?

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

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

Una riproduzione richiede in genere la stessa quantità di tempo della traccia di origine e 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.

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

I file di traccia di destinazione possono essere compresi tra 5 e 15 volte le dimensioni 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.

Q: 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 verranno visualizzati nell'ambiente di produzione. Per evitare questi errori, è consigliabile eseguire un backup subito prima dell'acquisizione dell'origine. Analogamente, è necessario ripristinare il backup nel computer di destinazione che esegue SQL Server per evitare errori durante la riproduzione.

Q: Cosa significa "passare %" nella pagina di riproduzione?

Pass % significa che solo una percentuale di query ha superato il test. È possibile diagnosticare se è previsto il numero di errori. È possibile che si verifichino errori o che si verifichino errori perché il database ha perso l'integrità. Se il valore di pass % non è quello previsto, è possibile interrompere la traccia ed esaminare il file di traccia in SQL Profiler per vedere quali query non sono riuscite.

Q: 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.

Q: 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).

Risoluzione dei problemi di replay delle tracce

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

  • Verificare 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 Distributed Replay abbia accesso al computer che esegue SQL Server.

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

D: Perché non riesco a connettermi al controller di Riesecuzione distribuita?

  • Verificare che il servizio di controllo di Riesecuzione Distribuita sia in esecuzione sul computer controller. Per verificare, usare gli strumenti di gestione della 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 ulteriori informazioni, vedere l'articolo Panoramica di Distributed Replay di SQL Server.
    • Assicurarsi che l'avvio remoto DCOM e l'attivazione remota siano consentiti per l'utente del controller di Riesecuzione distribuita.
    • Assicurarsi che i diritti utente di Accesso remoto DCOM siano consentiti per l'utente del controller di Riesecuzione distribuita.

D: Il percorso del file di traccia esiste nel mio computer? Perché il controller Distributed Replay non riesce a trovarlo?

Distributed Replay può accedere soltanto alle risorse del disco locale. Prima di avviare la riproduzione, è necessario copiare i file di traccia di origine nel computer controllore di Riproduzione Distribuita. Inoltre, è necessario specificare il percorso sulla pagina DEA Nuova Riproduzione.

I percorsi UNC non sono compatibili con Distributed Replay. I percorsi di Replay Distribuito devono essere percorsi locali e assoluti del primo file di traccia di origine, inclusa l'estensione.

D: Perché non è possibile navigare tra i file sulla 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 a riprodurre con una traccia, ma "Distributed Replay" 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 di StartCaptureTrace.sql.

D: Viene visualizzato "Si è verificato un errore imprevisto!" quando si tenta di preprocessare i file di traccia usando il controller Distributed Replay 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 la versione più recente di KB4038634 - Aggiornamento cumulativo 1 per SQL Server 2017.