Esaminare i risultati di riproduzione

Si applica a: SQL Server 2016 (13.x), SQL Server 2017 (14.x) e SQL Server 2019 (15.x)

Importante

Riesecuzione distribuita di SQL Server non è disponibile con SQL Server 2022 (16.x).

Al termine di una riesecuzione distribuita in Riesecuzione distribuita di Microsoft SQL Server, l'attività di riesecuzione per ogni client può essere acquisita e salvata in file di traccia dei risultati in ogni client. Per acquisire questa attività, è necessario usare il parametro -o quando si esegue lo strumento di amministrazione con l'opzione replay . Per altre informazioni sull'opzione replay, vedere Opzione replay (Distributed Replay Administration Tool).

La posizione in cui vengono archiviati i file di traccia dei risultati è specificata dall'elemento XML <ResultDirectory> nel file di configurazione del client DReplayClient.xml, disponibile in ogni client. I file di traccia nella directory dei risultati del client vengono sovrascritti a ogni riproduzione.

Per specificare il tipo di output da acquisire nei file di traccia dei risultati, modificare il file di configurazione della riproduzione, ovvero DReplay.exe.replay.config. È possibile utilizzare l'elemento XML <OutputOptions> per specificare se registrare il conteggio delle righe o il contenuto del set di risultati.

Per altre informazioni su queste impostazioni di configurazione, vedere Configurare Distributed Replay.

Classi di evento acquisite in file di traccia dei risultati

Nella tabella seguente sono elencate tutte le classi di evento acquisite nei dati di traccia dei risultati.

Categoria Nome classe di evento Frequenza di acquisizione Punto di acquisizione
Eventi riproducibili Connessione di controllo Una volta per ogni evento Audit Login nei dati di traccia originali Al completamento corretto o non corretto dell'evento
Disconnessione di controllo Una volta per ogni evento Audit Logout nei dati di traccia originali Al completamento corretto o non corretto dell'evento
SQL:BatchCompleted Una volta per ogni evento SQL:BatchStarting nei dati di traccia originali Al completamento corretto o non corretto dell'evento
RPC:Completed Una volta per ogni evento RPC:Starting nei dati di traccia originali Al completamento corretto o non corretto dell'evento
Statistiche e risultati Replay Settings Event Singola occorrenza Primo evento della traccia dei risultati
Replay Statistics Event Singola occorrenza Ultimo evento della traccia dei risultati
Replay Result Set Event Una volta per ogni evento SQL:BatchStarting e RPC:Starting.

Acquisito solo se il valore dell'opzione <RecordResultSet> nel file di configurazione della riproduzione è stato impostato su Yes.
Replay Result Row Event Una volta per ogni riga nel set di risultati per eventi SQL:BatchStarting e RPC:Starting.

Acquisito solo se il valore dell'opzione <RecordResultSet> nel file di configurazione della riproduzione è stato impostato su Yes.
Errori e avvisi Replay Internal Error Una volta per ogni errore interno Durante la condizione di errore interno
Replay Provider Error Una volta per ogni errore del provider Durante la condizione di errore del provider

Nota quanto segue:

  • Per ogni evento riprodotto correttamente nel server di destinazione esiste una classe di evento di output corrispondente.

  • Per ogni errore o annullamento di un evento, è possibile che vengano generati più errori.

Mapping di colonne della classe di evento

Nella figura seguente sono elencate le colonne della traccia dei risultati disponibili per ogni tipo di classe di evento acquisita durante la riproduzione.

Event class column mapping

Descrizioni delle colonne per la traccia dei risultati

Nella tabella seguente vengono descritte le colonne dei dati di traccia dei risultati.

Nome colonna di dati Tipo di dati Descrizione ID colonna
EventClass nvarchar Nome della classe di evento. 1
EventSequence bigint Per gli errori del provider e gli errori interni e gli avvisi, sequenza di eventi di acquisizione corrispondente all'errore o all'avviso.

Per tutte le altre classi di evento, sequenza dell'evento nei dati di traccia originali.
2
ReplaySequence bigint Per gli errori del provider e gli errori interni e gli avvisi, sequenza di eventi di riproduzione corrispondente all'errore o all'avviso.

Per tutte le altre classi di evento, sequenza dell'evento assegnato durante la riproduzione.
3
TextData ntext Il contenuto di TextData dipende da EventClass.

Per Audit Login e ExistingConnection, opzioni impostate per la connessione.

Per SQL:BatchStarting, corpo della richiesta batch.

Per RPC:Starting, stored procedure chiamata.

Per Replay Settings Event, questa colonna contiene le impostazioni definite nel file di configurazione della riproduzione.

Per Replay Statistics Event, contiene le informazioni seguenti:

- Computer SQL Server di destinazione della riproduzione

- Numero totale di eventi riproducibili

- Numero di errori del provider

- Numero di errori interni

- Avvisi interni

- Numero totale di errori

- Percentuale di superamento complessiva

- Durata della riproduzione (HH:MM:SS:MMM)

Per Replay Result Set Event, indica l'elenco delle intestazioni di colonna dei risultati restituiti.

Per Replay Result Row Event, indica il valore restituito di tutte le colonne per la riga.

Per Replay Internal Warning e Replay Provider Error, questa colonna contiene gli avvisi o gli errori del provider.
4
Attenzione bigint Durata di attenzione, in microsecondi, per l'evento. Viene calcolata dall'evento Attention dalla traccia di acquisizione. Se non è stato specificato alcun timeout query per l'evento, la colonna non è popolata (Null). 5
SubmitTime datetime Data e ora in cui è stato inviato l'evento a SQL Server. 6
IsSuccessful int Flag booleano che indica se un evento specifico è stato eseguito correttamente e che sono stati restituiti set di risultati al lato client.

Un evento che genera un avviso (ad esempio, quando un evento viene annullato a causa di Attention o di un timeout specificato da un utente) viene considerato riuscito.

IsSuccessful può essere impostato su uno dei valori seguenti:

1 = eseguito correttamente

0 = non riuscito
7
Duration [microsec] bigint Durata del tempo di risposta, in microsecondi, per l'evento. La misurazione inizia quando l'evento di accesso, disconnessione, RPC o del linguaggio viene inviato a SQL Server.

Se l'evento riesce, la misurazione termina nel momento in cui viene utilizzato il set di risultati completo.

Se l'evento non riesce, la misurazione termina al momento dell'errore o dell'annullamento dell'evento.
8
RowCount bigint Popolata a seconda del valore di <RecordRowCount> nel file di configurazione della riproduzione:

Se <RecordRowCount> è uguale a Yes, questa cella contiene il numero di righe nel set di risultati restituite da SQL Server.

Se <RecordRowCount> è uguale a No, questa cella non è popolata (Null).
9
CaptureSPID int ID univoco della sessione di acquisizione per l'evento. 10
ConnectionID int ID univoco della connessione di acquisizione per l'evento. 11
ReplaySPID int ID univoco della sessione di riproduzione per l'evento. 12
DatabaseName nvarchar Nome del database in cui viene eseguita l'istruzione dell'utente. 13
LoginName nvarchar Nome di accesso dell'utente. Può corrispondere a un account di accesso di sicurezza di SQL Server o alle credenziali di accesso di Microsoft Windows, nel formato nome_dominio\nome_utente. 14
CaptureHostName nvarchar Nome del computer in cui viene eseguito il servizio client durante l'acquisizione. 15
ReplayHostName nvarchar Nome del computer in cui viene eseguito il client durante la riproduzione. 16
ApplicationName nvarchar Nome dell'applicazione client che ha creato la connessione a SQL Server durante l'acquisizione. 17

Vedi anche