SQL Server Profiler
Se aplica a: SQL Server
Azure SQL Managed Instance
SQL Server Profiler es una interfaz para crear y administrar seguimientos y analizar y reproducir resultados de seguimiento. Los eventos se guardan en un archivo de seguimiento que posteriormente se puede analizar o utilizar para reproducir una serie de pasos específicos cuando se diagnostica un problema.
Importante
Seguimiento de SQL y SQL Server Profiler están en desuso. El espacio de nombres Microsoft.SqlServer.Management.Trace que contiene los objetos Trace y Replay de Microsoft SQL Server también están en desuso.
Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.
Use eventos extendidos en su lugar. Para más información sobre los eventos extendidos, vea Inicio rápido: Eventos extendidos en SQL Server y Generador de perfiles XEvent de SSMS.
Nota:
Se admiten cargas de trabajo de Analysis Services en SQL Server Profiler.
Nota:
Al intentar conectarte a una base de datos de Azure SQL Database desde el generador de perfiles de SQL Server, se produce incorrectamente un mensaje de error engañoso como el siguiente:
- Para ejecutar un seguimiento en SQL Server, debe ser miembro del rol fijo de servidor de administrador del sistema o tener el permiso ALTER TRACE.
El mensaje debería haber explicado que el generador de perfiles de SQL Server no admite instancias de Azure SQL Database.
¿Dónde está Profiler?
Puede iniciar Profiler desde SQL Server Management Studio o con Azure Data Studio mediante la extensión SQL Server Profiler.
Captura y reproducción de datos de seguimiento
En la siguiente tabla se muestran las características que se recomienda usar en SQL Server para capturar y reproducir los datos de seguimiento.
Característica\Carga de trabajo de destino | Motor relacional | Analysis Services |
---|---|---|
Captura de seguimiento | Interfaz gráfica de usuario deeventos extendidos en SQL Server Management Studio | SQL Server Profiler |
Reproducción de seguimiento | Distributed Replay | SQL Server Profiler |
Uso de SQL Server Profiler
El SQL Server Profiler de Microsoft es una interfaz gráfica de usuario de Seguimiento de SQL que se usa para supervisar una instancia de Motor de base de datos o de Analysis Services. Puede capturar y guardar datos acerca de cada evento en un archivo o en una tabla para analizarlos posteriormente. Por ejemplo, puede supervisar un entorno de producción para ver qué procedimientos almacenados afectan negativamente al rendimiento al ejecutarse demasiado lentamente. SQL Server Profiler se usa para actividades como las siguientes:
Seguir los pasos de consultas con problemas para buscar la causa de los mismos.
Buscar y diagnosticar consultas de ejecución lenta.
Capturar la serie de instrucciones de Transact-SQL que ha causado un problema. El seguimiento guardado se puede utilizar después para replicar el problema en un servidor de prueba en el que se pueda diagnosticar el problema.
Supervisar el rendimiento de SQL Server para optimizar las cargas de trabajo. Para obtener información acerca de la optimización del diseño físico de bases de datos para las cargas de trabajo, vea Database Engine Tuning Advisor.
Establecer correlaciones entre contadores de rendimiento para diagnosticar problemas.
El SQL Server Profiler también es compatible con la auditoría de las acciones ejecutadas en instancias de SQL Server. La auditoría registra las acciones relacionadas con la seguridad para una revisión posterior por parte del administrador de seguridad.
Conceptos de SQL Server Profiler
Para usar el SQL Server Profiler, debe comprender la terminología que describe cómo funciona la herramienta.
Nota:
La comprensión de SQL Trace realmente ayuda al trabajar con SQL Server Profiler. Para más información, consulte SQL Trace.
Evento
Un evento es una acción generada dentro de una instancia del Motor de base de datos de SQL Server. Por ejemplo:
- Conexiones, errores y desconexiones de inicio de sesión.
- Instrucciones
SELECT
,INSERT
,UPDATE
yDELETE
de Transact-SQL. - Estado de lotes de RPC (llamada a procedimiento remoto).
- Inicio o finalización de procedimientos almacenados.
- Inicio o finalización de instrucciones incluidas en procedimientos almacenados.
- Inicio o finalización de lotes SQL.
- Errores escritos en el registro de errores de SQL Server .
- Bloqueos adquiridos o liberados en objetos de base de datos.
- Cursores abiertos.
- Comprobaciones de permisos de seguridad.
Todos los datos generados por un evento se muestran en el seguimiento en una sola fila. Esta fila está intersectada por columnas de datos que describen el evento de forma detallada.
EventClass
Una clase de evento es un tipo de evento del cual se puede realizar un seguimiento. La clase de evento contiene todos los datos que puede comunicar un evento. Por ejemplo:
- SQL:BatchCompleted
- Audit Login
- Audit Logout
- Lock: Acquired
- Lock: Released
EventCategory
Una categoría de eventos define cómo se agrupan los eventos en el SQL Server Profiler. Por ejemplo, todas las clases de evento de bloqueo se agrupan dentro de la categoría de eventos Bloqueos. Sin embargo, las categorías de eventos solo existen en el SQL Server Profiler. Este término no refleja cómo se agrupan los eventos del motor.
DataColumn
Una columna de datos es un atributo de una clase de evento capturada en el seguimiento. Como la clase de evento determina el tipo de datos que se pueden recopilar, no se aplicarán todas las columnas de datos a todas las clases de evento. Por ejemplo, en un seguimiento que capture la clase de evento Lock: Acquired, la columna de datos BinaryData contiene el valor del identificador o la fila de la página bloqueada, pero la columna de datos IntegerData no contiene ningún valor porque no es aplicable a la clase de evento que se captura.
Plantilla
Una plantilla define la configuración predeterminada de un seguimiento. En concreto, incluye las clases de evento que desea supervisar con el SQL Server Profiler. Por ejemplo, puede crear una plantilla que especifique los eventos, las columnas de datos y los filtros. Las plantillas no se ejecutan, sino que se guardan como archivos con la extensión .tdf. Una vez guardada, una plantilla controla los datos del seguimiento que se capturan cuando se inicia un seguimiento basado en la plantilla en cuestión.
Seguimiento
Un seguimiento captura datos basándose en clases de evento, columnas de datos y filtros seleccionados. Por ejemplo, puede crear un seguimiento para supervisar errores de excepción. Para ello, seleccione la clase de evento Exception y las columnas de datos Error, Statey Severity . Deben recopilarse los datos de estas tres columnas para que los resultados del seguimiento proporcionen datos con significado. Una vez hecho esto, puede ejecutar un seguimiento configurado de esta forma y recopilar datos de cualquier evento Exception que se produzca en el servidor. Los datos de seguimiento se pueden guardar o utilizar inmediatamente para el análisis. Los seguimientos se pueden volver a reproducir posteriormente, aunque ciertos eventos, como los eventos Exception , nunca se vuelven a reproducir. También puede guardar el seguimiento como plantilla para crear seguimientos parecidos en el futuro.
SQL Server ofrece dos formas realizar un seguimiento de una instancia de SQL Server: puede hacerlo con SQL Server Profiler o con procedimientos almacenados del sistema.
Filter
Al crear un seguimiento o una plantilla, puede definir criterios para filtrar los datos recopilados por el evento. Para que los seguimientos no sean demasiado grandes, puede filtrarlos de forma que solo se recopile un subconjunto de los datos del evento. Por ejemplo, puede limitar los nombres de usuario de Microsoft Windows del seguimiento a usuarios específicos, con lo que reducirá los datos de salida.
Si no se establece un filtro, se devolverán todos los eventos de las clases de eventos seleccionadas en el resultado del seguimiento.
Tareas de SQL Server Profiler
Descripción de la tarea | Tema |
---|---|
Enumera las plantillas predefinidas que SQL Server proporciona para supervisar determinados tipos de eventos y los permisos necesarios para la reproducción de seguimientos. | Plantillas y permisos de SQL Server Profiler |
Describe cómo ejecutar SQL Server Profiler. | Permisos necesarios para ejecutar SQL Server Profiler |
Describe cómo crear un seguimiento. | Crear un seguimiento (SQL Server Profiler) |
Describe cómo especificar eventos y columnas de datos para un archivo de seguimiento. | Especificar eventos y columnas de datos para un archivo de seguimiento (SQL Server Profiler) |
Describe cómo guardar los resultados de seguimiento en un archivo. | Guardar los resultados de un seguimiento en un archivo (SQL Server Profiler) |
Describe cómo guardar los resultados de seguimiento en una tabla. | Guardar los resultados de un seguimiento en una tabla (SQL Server Profiler) |
Describe cómo filtrar los eventos de un seguimiento. | Filtrar eventos en un seguimiento (SQL Server Profiler) |
Describe cómo ver la información de filtro. | Ver información de un filtro (SQL Server Profiler) |
Describe cómo modificar un filtro. | Modificar un filtro (SQL Server Profiler) |
Describe cómo establecer un tamaño máximo de archivo para un archivo de seguimiento (SQL Server Profiler). | Establecer un tamaño máximo de archivo para un archivo de seguimiento (SQL y otros) |
Describe cómo establecer un tamaño máximo de tabla para una tabla de seguimiento. | Establecer un tamaño máximo de tabla para una tabla de seguimiento (SQL Server Profiler) |
Describe cómo iniciar un seguimiento. | Iniciar un seguimiento |
Describe cómo iniciar un seguimiento automáticamente después de conectarse a un servidor. | Iniciar un seguimiento automáticamente después de conectarse a un servidor (SQL Server Profiler) |
Describe cómo filtrar eventos basándose en la hora de inicio del evento. | Filtrar eventos basándose en la hora de inicio del evento (SQL Server Profiler) |
Describe cómo filtrar eventos basándose en la hora de finalización del evento. | Filtrar eventos basándose en la hora de finalización del evento (SQL Server Profiler) |
Describe cómo filtrar los identificadores de proceso de servidor (SPID) en un seguimiento. | Filtrar los identificadores de proceso de servidor (SPID) en un seguimiento (SQL y otros) |
Describe cómo pausar un seguimiento. | Pausar un seguimiento (SQL Server Profiler) |
Describe cómo detener un seguimiento. | Detener un seguimiento (SQL Server Profiler) |
Describe cómo ejecutar un seguimiento que se ha pausado o detenido. | Ejecutar un seguimiento después de haberlo pausado o detenido (SQL Server Profiler) |
Describe cómo borrar una ventana de seguimiento. | Borrar el contenido de una ventana de seguimiento (SQL Server Profiler) |
Describe cómo cerrar una ventana de seguimiento. | Cerrar una ventana de seguimiento (SQL Server Profiler) |
Describe cómo establecer valores predeterminados de definición de seguimiento. | Configurar los valores predeterminados de definición de seguimiento (SQL Server Profiler) |
Describe cómo establecer valores predeterminados de presentación de seguimiento. | Establecer los valores predeterminados de presentación de seguimiento (SQL Server Profiler) |
Describe cómo abrir un archivo de seguimiento. | Abrir un archivo de seguimiento (SQL Server Profiler) |
Describe cómo abrir una tabla de seguimiento. | Abrir una tabla de seguimiento (SQL Server Profiler) |
Describe cómo reproducir una tabla de seguimiento. | Reproducir una tabla de seguimiento (SQL Server Profiler) |
Describe cómo reproducir un archivo de seguimiento. | Reproducir un archivo de seguimiento (SQL Server Profiler) |
Describe cómo reproducir un solo evento cada vez. | Reproducir un único evento cada vez (SQL Server Profiler) |
Describe cómo reproducir hasta un punto de interrupción. | Reproducir hasta un punto de interrupción (SQL Server Profiler) |
Describe cómo reproducir hasta un cursor. | Reproducir hasta un cursor (SQL Server Profiler) |
Describe cómo reproducir un script Transact-SQL. | Reproducir un script Transact-SQL (SQL Server Profiler) |
Describe cómo crear una plantilla de seguimiento. | Crear una plantilla de seguimiento (SQL Server Profiler) |
Describe cómo modificar una plantilla de seguimiento. | Modificar una plantilla de seguimiento (SQL Server Profiler) |
Describe cómo establecer opciones globales de seguimiento. | Establecer opciones globales de seguimiento (SQL Server Profiler) |
Describe cómo buscar un valor o una columna de datos durante una traza. | Buscar un valor o una columna de datos durante la ejecución de un seguimiento (SQL Server Profiler) |
Describe cómo derivar una plantilla a partir de un seguimiento en ejecución. | Derivar una plantilla a partir de un seguimiento en ejecución (SQL Server Profiler) |
Describe cómo derivar una plantilla de un archivo de seguimiento o de una tabla de seguimiento. | Derivar una plantilla a partir de un archivo o tabla de seguimiento (SQL Server Profiler) |
Describe cómo crear un script Transact-SQL para ejecutar un seguimiento. | Crear un script de Transact-SQL para ejecutar un seguimiento (SQL Server Profiler) |
Describe cómo exportar una plantilla de seguimiento. | Exportar una plantilla de seguimiento (SQL Server Profiler) |
Describe cómo importar una plantilla de seguimiento. | Importar una plantilla de seguimiento (SQL Server Profiler) |
Describe cómo extraer un script de un seguimiento. | Extraer un script de un seguimiento (SQL Server Profiler) |
Describe cómo establecer correlaciones de un seguimiento con datos del registro de rendimiento de Windows. | Establecer correlaciones de un seguimiento con datos del registro de rendimiento de Windows (SQL Server Profiler) |
Describe cómo organizar las columnas mostradas en un seguimiento. | Organizar las columnas mostradas en un seguimiento (SQL Server Profiler) |
Describe cómo iniciar SQL Server Profiler. | Iniciar SQL Server Profiler |
Describe cómo guardar seguimientos y plantillas de seguimiento. | Guardar seguimientos y plantillas de seguimiento |
Describe cómo modificar plantillas de seguimiento. | Modificar plantillas de seguimiento |
Describe cómo establecer correlaciones de un seguimiento con datos del registro de rendimiento de Windows. | Correlacionar un seguimiento con los datos del registro de rendimiento de Windows |
Describe cómo ver y analizar seguimientos con SQL Server Profiler. | Ver y analizar seguimientos con SQL Server Profiler |
Describe cómo analizar interbloqueos con SQL Server Profiler. | Analizar interbloqueos con SQL Server Profiler |
Describe cómo analizar consultas con resultados de SHOWPLAN en SQL Server Profiler. | Analizar consultas con resultados de SHOWPLAN en SQL Server Profiler |
Describe cómo filtrar seguimientos con SQL Server Profiler. | Filtrar seguimientos con SQL Server Profiler |
Describe cómo utilizar las características de reproducción de SQL Server Profiler. | Reproducir seguimientos |
Muestra los temas de ayuda contextuales para SQL Server Profiler. | SQL Server Profiler (Ayuda F1) |
Enumera los procedimientos almacenados del sistema que usa SQL Server Profiler para supervisar el rendimiento y la actividad. | Procedimientos almacenados de SQL Server Profiler (Transact-SQL) |