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.
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.
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 y DELETE 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.
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.
Administre una infraestructura de base de datos de SQL Server para bases de datos relacionales locales e híbridas en la nube mediante las ofertas de bases de datos relacionales PaaS de Microsoft.