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. Sin embargo, se admiten cargas de trabajo de Analysis Services.
- 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:
Al intentar conectarse a una base de datos de Azure SQL Database desde SQL Server Profiler, 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 “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. Después, el seguimiento guardado puede 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:
Entender el Seguimiento de SQL 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 final de un lote de 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.
El seguimiento muestra todos los datos generados por un evento 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 aplican 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, la 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, State y 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 del 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.
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, limitar los nombres de usuario de Microsoft Windows en el seguimiento a usuarios específicos reduce los datos de salida.
Si no se establece un filtro, el seguimiento devuelve todos los eventos de las clases de eventos seleccionadas.
Tareas de SQL Server Profiler
Descripción de la tarea | Artículo |
---|---|
Enumera las plantillas predefinidas que SQL Server proporciona para supervisar determinados 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 de archivo máximo 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 artículos de ayuda contextual 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) |
Eventos extendidos frente a SQL Server Profiler
Eventos extendidos y SQL Server Profiler son herramientas para supervisar y solucionar problemas de rendimiento de SQL Server. SQL Server Profiler está en desuso y solo se debe usar con Analysis Services. Eventos extendidos es el sustituto de SQL Server Profiler y proporciona funcionalidades avanzadas de solución de problemas que no están disponibles en ningún otro lugar. Aquí se indican las principales diferencias para ayudar con la migración de SQL Server Profiler a Eventos extendidos.
Herramienta de Eventos extendidos
Eventos extendidos es un sistema de control de eventos ligero, flexible y muy escalable que está integrado en SQL Server.
Las sesiones de Eventos extendidos suelen consumir menos recursos que el Seguimiento de SQL y SQL Server Profiler, lo que hace que sean más adecuados para entornos de producción. Eventos extendidos admite la captura de eventos que están disponibles en versiones modernas de SQL.
Por el contrario, los eventos disponibles en el Seguimiento de SQL o SQL Server Profiler se limitan a las características disponibles en SQL Server 2008R2 y versiones anteriores. Eventos extendidos proporciona funcionalidades de filtrado superiores, una carga predeterminada más pequeña y características que no se ofrecen en Profiler, como destinos en memoria y agregados y compatibilidad con varios destinos.
Para obtener más información acerca de los eventos extendidos, vea eventos extendidos.
Herramienta de SQL Server Profiler
SQL Server Profiler es una interfaz gráfica de usuario que usa Seguimiento de SQL para capturar la actividad de una instancia de SQL Server o Analysis Services.
SQL Server Profiler puede consumir muchos recursos si se configura incorrectamente, lo que afecta al rendimiento del servidor, sobre todo cuando se usa en servidores de producción. Tiene plantillas integradas para admitir el seguimiento rápido.
En resumen, aunque SQL Server Profiler es una herramienta anterior que puede ser familiar para muchos usuarios, Eventos extendidos es una alternativa moderna que ofrece un mejor rendimiento, información de eventos más detallada y funcionalidades para solucionar problemas y supervisar instancias de SQL Server que no están disponibles en ningún otro lugar. Debido a sus ventajas sobre Profiler, se recomienda Eventos extendidos para el nuevo trabajo de seguimiento y supervisión.