Requisiti per la riproduzione
Oltre a eventuali altre classi di evento che si desidera monitorare, è necessario acquisire in una traccia le classi di evento riportate di seguito, in modo da consentire la riproduzione della traccia. Si noti che questi eventi vengono attivati per impostazione predefinita se si utilizza il modello di traccia TSQL_Replay per configurare una traccia che viene utilizzata successivamente per la riproduzione.
CursorClose (necessaria per la riproduzione di cursori del server)
CursorExecute (necessaria per la riproduzione di cursori del server)
CursorOpen (necessaria per la riproduzione di cursori del server)
CursorPrepare (necessaria per la riproduzione di cursori del server)
CursorUnprepare (necessaria per la riproduzione di cursori del server)
Audit Login
Audit Logout
ExistingConnection
RPC Output Parameter
RPC:Completed
RPC:Starting
Exec Prepared SQL (necessaria per la riproduzione di istruzioni SQL preparate sul lato server)
Prepare SQL (necessaria per la riproduzione di istruzioni SQL preparate sul lato server)
SQL:BatchCompleted
SQL:BatchStarting
Per consentire la riproduzione di una traccia è necessario acquisire le seguenti colonne di dati oltre alle colonne di dati che si desidera monitorare:
EventClass
EventSequence
TextData
Application Name
LoginName
DatabaseName
Database ID
ClientProcessID
HostName
ServerName
Binary Data
SPID
Start Time
EndTime
IsSystem
NTDomainName
NTUserName
Error
[!NOTA]
Utilizzare il modello di traccia TSQL_Replay per le tracce che acquisiscono i dati per la riproduzione.
In Microsoft SQL Server durante la riproduzione viene verificata la presenza delle colonne e degli eventi necessari. Questa modifica contribuisce a migliorare la precisione della riproduzione e a rendere più specifica la risoluzione dei problemi di riproduzione in caso di mancanza di dati necessari. Se i dati necessari non sono disponibili in una traccia, viene restituito un errore di riproduzione e la riproduzione del file viene interrotta.
Per riprodurre una traccia in un server (destinazione) in cui SQL Server è in esecuzione, diverso dal server in cui la traccia veniva eseguita originariamente (origine), assicurarsi che siano state eseguite le operazioni seguenti:
È necessario che tutti gli account di accesso e gli utenti inclusi nella traccia siano disponibili nella destinazione e nello stesso database dell'origine.
È necessario che tutti gli account di accesso e gli utenti nella destinazione dispongano delle stesse autorizzazioni disponibili nell'origine.
Tutte le password di accesso devono essere uguali a quella dell'utente che esegue la riproduzione.
È consigliabile che gli ID di database nella destinazione e nell'origine siano uguali. Se tuttavia non sono uguali, è possibile trovare una corrispondenza in base a DatabaseName, se disponibile nella traccia.
È necessario che il database predefinito per ogni account di accesso incluso nella traccia sia impostato (nella destinazione) sul database di destinazione corrispondente. Ad esempio, si supponga che la traccia da riprodurre includa attività per l'account di accesso Fred nel database Fred_Db nell'origine. Nella destinazione il database predefinito per l'account Fred deve essere pertanto impostato sul database corrispondente a Fred_Db, anche se il nome del database è diverso. Per impostare il database predefinito per l'account di accesso, utilizzare la stored procedure di sistema sp_defaultdb.
La riproduzione degli eventi associati ad account di accesso mancanti o non corretti genera errori di riproduzione, ma l'operazione non viene interrotta.
Per informazioni sulle autorizzazioni necessarie per riprodurre una traccia, vedere Autorizzazioni necessarie per l'esecuzione di SQL Server Profiler.