Ver y analizar trazas con el Analizador de SQL Server

Actualizado: 12 de diciembre de 2006

Utilice el Analizador de SQL Server para ver datos de eventos capturados en una traza. El Analizador de SQL Server muestra los datos en función de las propiedades de traza definidas. Una manera de analizar datos de SQL Server consiste en copiarlos a otro programa, como SQL Server 2005 o el Asistente para la optimización de Database Engine (Motor de base de datos). El Asistente para la optimización de Database Engine (Motor de base de datos) puede utilizar un archivo de traza que contenga lotes SQL y eventos RPC (llamada a procedimiento remoto) si la traza incluye la columna de datos Text. Para obtener más información, vea Optimizar el diseño físico de las bases de datos. Para asegurarse de que se capturan las columnas y los eventos correctos para su utilización con el Asistente para la optimización de Database Engine (Motor de base de datos), utilice la plantilla predefinida Tuning que se proporciona con el Analizador de SQL Server.

Cuando abra una traza mediante el Analizador de SQL Server, no es necesario que el archivo de traza tenga la extensión de archivo .trc si se creó mediante el Analizador de SQL Server o los procedimientos almacenados del sistema de Traza de SQL.

[!NOTA] El Analizador de SQL Server también puede leer archivos .log de Traza de SQL y archivos de secuencias de comandos SQL genéricos. Si abre un archivo .log de Traza de SQL que no tiene la extensión .log, por ejemplo, trace.txt, deberá especificar SQLTrace_Log como formato del archivo.

Puede configurar el formato de visualización de la fecha y hora del Analizador de SQL Server como ayuda en el análisis de trazas.

Solución de problemas de los datos

El Analizador de SQL Server permite solucionar problemas de datos mediante la agrupación de trazas o archivos de traza según las columnas de datos Duration, CPU, Reads o Writes. Algunos ejemplos son consultas que no se ejecutan satisfactoriamente o que tienen una cantidad excepcionalmente alta de lecturas lógicas.

Puede buscar información adicional si guarda las trazas en tablas y utiliza Transact-SQL para realizar consultas en los datos de eventos. Por ejemplo, para determinar los eventos SQL:BatchCompleted con un tiempo de espera excesivo, ejecute lo siguiente:

SELECT  TextData, Duration, CPU
FROM    trace_table_name
WHERE   EventClass = 12 -- SQL:BatchCompleted events
AND     CPU < (Duration * 1000)

[!NOTA] En SQL Server 2005, el servidor informa de la duración del evento (en microsegundos) (una millonésima parte de un segundo o 10-6) y la cantidad de tiempo de CPU que utiliza el evento en milisegundos (una milésima de segundo o 10-3). En SQL Server 2000, el servidor informaba de la duración y del tiempo de CPU en milisegundos. En SQL Server 2005, la interfaz gráfica de usuario del Analizador de SQL Server muestra la columna Duration en milisegundos de manera predeterminada, pero cuando se guarda una traza en un archivo o en una tabla de base de datos, el valor de la columna Duration se escribe en microsegundos.

Mostrar nombres de objetos al ver trazas

Si desea visualizar el nombre de un objeto en lugar de su identificador (Object ID), debe capturar las columnas de datos Server Name y Database ID junto con Object Name.

Si decide realizar una agrupación mediante la columna de datos Object ID, realícela primero mediante las columna de datos Server Name y Database ID, y luego mediante Object ID. Del mismo modo, si decide realizar una agrupación mediante la columna de datos Index ID, realícela primero mediante las columna de datos Server Name, Database ID y Object ID, y luego mediante Index ID. Es necesario que siga este orden ya que los Id. de objeto y de índice no son exclusivos entre servidores y bases de datos (ni entre objetos, en el caso de los Id. de índice).

Buscar eventos específicos en una traza

Para encontrar y agrupar eventos en una traza, siga estos pasos:

  1. Cree la traza.
    • Una vez definida, capture las columnas de datos Event Class, ClientProcessID y Start Time además de cualquier otra columna de datos que desee capturar. Para obtener más información, vea Cómo crear una traza (Analizador de SQL Server).
    • Agrupe los datos capturados por la columna de datos Event Class y capture la traza en un archivo o una tabla. Para agrupar los datos capturados, haga clic en la opción Organizar columnas de la ficha Selección de eventos del cuadro de diálogo Propiedades de traza. Para obtener más información, vea Cómo organizar las columnas mostradas en una traza (Analizador de SQL Server).
    • Inicie la traza y deténgala una vez pasado el tiempo apropiado o cuando se haya capturado el número de eventos.
  2. Busque los eventos de destino.
    • Abra el archivo o la tabla de traza y expanda el nodo de la clase de evento que desee, por ejemplo, Deadlock Chain. Para obtener más información, vea Cómo abrir un archivo de traza (Analizador de SQL Server) o Cómo abrir un archivo de tabla (Analizador de SQL Server).
    • Busque en los datos de la traza hasta que encuentre los eventos que busca. Para facilitar la búsqueda, puede utilizar el comando Buscar del menú Edición del Analizador de SQL Server. Anote los valores de las columnas de datos ClientProcessID y Start Time correspondientes a los eventos de los que se realiza un seguimiento.
  3. Muestre los eventos en el contexto.
    • Muestre las propiedades de la traza y agrupe por la columna de datos ClientProcessID en lugar de Event Class.
    • Expanda los nodos de cada Id. de proceso de cliente que desee ver. Realice una búsqueda manual en la traza o utilice Buscar hasta que encuentre los valores de Start Time anotados anteriormente de los eventos de destino. Los eventos se muestran en orden cronológico con los otros que pertenecen a cada Id. de proceso de cliente seleccionado. Por ejemplo, los eventos Deadlock y Deadlock Chain, capturados en la traza, aparecerán inmediatamente después de los eventos SQL:BatchStarting del Id. de proceso de cliente expandido.

La misma técnica se puede emplear para buscar cualquier evento agrupado. Una vez que haya encontrado los eventos que busca, agrúpelos por ClientProcessID, Application Name u otra clase de evento para ver la actividad relacionada en orden cronológico.

Vea también

Tareas

Cómo ver una traza guardada (Transact-SQL)
Cómo ver información de un filtro (Analizador de SQL Server)
Cómo ver la información del filtro (Transact-SQL)
Cómo abrir un archivo de traza (Analizador de SQL Server)
Cómo abrir un archivo de traza (Analizador de SQL Server)
Cómo abrir un archivo de tabla (Analizador de SQL Server)

Otros recursos

fn_trace_getinfo (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

12 de diciembre de 2006

Contenido modificado:
  • Se corrigió el ejemplo de código en la sección "Solución de problemas de los datos" donde se utilizan las unidades de la columna Duration.

5 de diciembre de 2005

Contenido nuevo:
  • Se agregó una nota al final de la sección, "Solución de problemas de los datos", que trata del cambio de milisegundos a microsegundos para indicar los eventos de traza de la columna Duration.
Contenido modificado:
  • Se ha corregido el ejemplo de código de esta sección, "Solución de problemas de los datos", para compensar el cambio de las unidades de la columna Duration (de milisegundos a microsegundos).