2010-02-23 14 views
5

He capturado un seguimiento (plantilla: tsql_replay) en nuestro servidor de producción para una base de datos específica (filtrada por el nombre de la base de datos). Me gustaría reproducirlo en nuestro servidor de prueba, pero por supuesto la identificación de la base de datos es diferente en el servidor de prueba.¿Cómo reproducir una traza del Analizador de SQL en una base de datos diferente?

Hasta ahora, he intentado cargar el archivo de seguimiento en una tabla y modificar el databaseid con una consulta de actualización (ver a continuación), pero Profiler me da un error al intentar reproducirlo (eventos faltantes, etc.). Si abro el archivo de rastreo directamente, me permite reproducirlo. Entonces, de alguna manera, cargar en una tabla o cambiar la identificación de la base de datos arruina algo.

¿Cuál es el procedimiento correcto para capturar un trazo para la reproducción y cambiar la base de datos en la que se debe reproducir?

select * into trace_table 
from fn_trace_gettable('f:\trace\trace100222.trc', default) 
go 
update trace_table 
set databaseid = 47 
where databaseid = 16 
+0

¿resolvió su problema? si es así, marque como respondido. –

Respuesta

3

usted tiene que crear la traza y guardarlo como archivo de rastreo XML para Replay después, el abrir el XML y alterar el identificador de base de datos en el XML Trace.

Tenga en cuenta que si realiza un seguimiento de un sql 2008 a sql 2000, no puede establecer la fecha y hora de finalización, ya que habrá un error de fecha y hora de ODBC.

Pero aparte de eso, funciona normalmente.

0

No he tenido problemas para reproducir los archivos de seguimiento regulares (.trc). No tienen que ser XML. Esto está en SQL 2005. Debe asegurarse de capturar ciertos eventos para incluso ser capaz de para reproducir un rastro. La plantilla de rastreo TSQL_Replay te ayudará en esto.

Al reproducir, tiendo a activar los SPID del sistema de reproducción en la pestaña Opciones de reproducción avanzadas en el cuadro de diálogo de reproducción. También tiendo a guardar los resultados en una tabla para un análisis posterior.

1

Han pasado dos años, pero estaba teniendo exactamente el mismo problema. He aquí cómo lo resolví:

  1. de inicio de SQL Server
  2. Abrir el archivo de seguimiento
  3. reproducción del archivo de rastreo para confirmar que funciona
  4. Guardar el archivo de seguimiento como una tabla (T1)
  5. Actualice la tabla donde sea necesario (en mi caso, tuve que actualizar LoginName a un usuario local)
  6. Abra la tabla de seguimiento actualizada
  7. Repita la operación as

Tomar nota, me encontré con una traza en el proceso de guardar el archivo de seguimiento a una tabla de seguimiento y de perfiles de hace mucho más que usar fn_trace_gettable para escribir el contenido de traza a una tabla. También parece agregar varios atributos internos a la tabla de rastreo a través de una serie de comandos sp_cursor que se ven así:

exec sp_cursor 180150003,4,0,N'[dbo].[T1]',@EventClass=65528,@BinaryData=0xFFF... 
Cuestiones relacionadas