Compartir a través de


Escenarios para el uso del Analizador de SQL Server

El primer paso para utilizar el SQL Server Profiler es identificar las razones que tiene para supervisar una instancia de SQL Server. En este tema se analizan los escenarios habituales en los que se puede utilizar el SQL Server Profiler para recopilar información de la traza.

Entre los escenarios habituales para el uso del SQL Server Profiler, se incluyen los siguientes casos:

  • Buscar las consultas con peor rendimiento.

    Por ejemplo, puede crear una traza que capture eventos relacionados con las clases de eventos de TSQL y de procedimiento almacenado (RPC:Completed y SQL:BatchCompleted). Incluya todas las columnas de datos en la traza, agrupe por Duration y especifique los criterios de los eventos. Por ejemplo, si especifica que la Duration (duración) del evento debe ser de al menos 10000 microsegundos, puede eliminar de la traza los eventos que empleen un tiempo menor que el especificado. El valor mínimo de Duration se puede aumentar según sea necesario. Si desea supervisar sólo una base de datos cada vez, especifique un valor para el criterio de eventos Id. de base de datos.

  • Identificar la causa de un interbloqueo.

    Por ejemplo, puede crear una traza que capture eventos relacionados con las clases de eventos de TSQL y de procedimiento almacenado (RPC:Starting y SQL:BatchStarting) y las clases de eventos de bloqueos (Deadlock graph, Lock:Deadlock o Lock:Deadlock Chain). Incluya todas las columnas de datos en la traza y agrupe por EventClass. Si desea supervisar sólo una base de datos cada vez, especifique un valor para el criterio de eventos Id. de base de datos. Si especifica la clase de evento Deadlock graph, el SQL Server Profiler creará una representación gráfica del interbloqueo. Para obtener más información, vea Analizar interbloqueos con el Analizador de SQL Server.

    Para ver las conexiones implicadas en un interbloqueo, realice una de las siguientes acciones:

    • Abra la traza que contiene los datos capturados, agrupe los datos por ClientProcessID y expanda las dos conexiones implicadas en el interbloqueo.

    • Guarde los datos capturados en un archivo de traza y abra el archivo de traza dos veces para que esté visible en dos ventanas independientes del SQL Server Profiler. Agrupe los datos capturados por ClientProcessID y, a continuación, expanda el Id. de proceso del cliente implicado en el interbloqueo; cada conexión interbloqueada estará en una ventana independiente. Organice en mosaico las ventanas para ver los eventos que producen el interbloqueo. Si desea guardar datos concretos del gráfico de interbloqueo en un archivo, haga clic con el botón secundario en el evento de interbloqueo y seleccione Extraer datos de evento.

  • Supervisar el rendimiento de procedimientos almacenados.

    Por ejemplo, puede crear una traza que capture eventos relacionados con clases de eventos de procedimiento almacenado (SP:Completed, SP:Starting, SP:StmtCompleted y SP:StmtStarting) y clases de eventos de TSQL (SQL:BatchStarting y SQL:BatchCompleted). Incluya todas las columnas de datos necesarias en la traza y agrupe por ClientProcessID. Si desea supervisar sólo una base de datos cada vez, utilice el filtro de Id. de base de datos y especifique un valor para el criterio de eventos Id. de base de datos. De forma similar, si desea supervisar sólo un procedimiento almacenado cada vez, utilice el filtro de Id. de objeto y especifique un valor para el criterio de eventos Id. de objeto.

  • Auditar la actividad de SQL Server.

    Por ejemplo, si el administrador de seguridad tiene que saber en todo momento qué usuarios están conectados al servidor, una traza del SQL Server Profiler puede proporcionar un registro completo de los usuarios que se han conectado y desconectado en el servidor. Esta información podrá utilizarse para fines legales o técnicos.

    Cree una traza; para ello, seleccione el evento Audit Login. Para obtener la información apropiada, especifique las columnas de datos siguientes: EventClass (seleccionada de forma predeterminada), EventSubClass, LoginSID y LoginName.

  • Supervisar la actividad de Transact-SQL por usuario.

    Puede crear una traza que capture eventos relacionados con las clases de eventos de Sesiones, ExistingConnection y de TSQL. Incluya todas las columnas de datos en la traza, no especifique ningún criterio de eventos y agrupe los eventos capturados por DBUserName.

  • Recopilar una muestra representativa de eventos para realizar pruebas de esfuerzo.

    El SQL Server Profiler proporciona una plantilla TSQL_Replay predefinida que se puede utilizar para realizar una optimización iterativa, como pruebas comparativas.

  • Recopilar una muestra de eventos para optimizar el diseño físico de la base de datos mediante el Asistente para la optimización de Database Engine (Motor de base de datos).

    El SQL Server Profiler proporciona una plantilla Tuning predefinida que recopila los eventos apropiados de Transact-SQL en la salida de la traza para que se puedan utilizar como carga de trabajo en el Asistente para la optimización de Database Engine (Motor de base de datos).