Herramientas de supervisión y optimización del rendimiento

Se aplica a: síSQL Server (todas las versiones admitidas)

Microsoft SQL Server proporciona un completo conjunto de herramientas para supervisar los eventos de SQL Server y para optimizar el diseño de la base de datos física. La elección de la herramienta depende del tipo de supervisión u optimización que se realice y de los eventos particulares que se supervisen.

A continuación se describen las herramientas de supervisión y optimización de SQL Server :

Herramienta Descripción
Funciones integradas (Transact-SQL) Las funciones integradas muestran estadísticas de instantáneas acerca de la actividad de SQL Server desde el inicio del servidor; estas estadísticas se almacenan en contadores de SQL Server predefinidos. Por ejemplo, @@CPU_BUSY contiene el tiempo que la CPU ha estado ejecutando código de SQL Server; @@CONNECTIONS contiene el número de conexiones o intentos de conexión de SQL Server y @@PACKET_ERRORS contiene el número de paquetes de red generados en conexiones de SQL Server.
DBCC (Transact-SQL) Las instrucciones DBCC (Comandos de consola de base de datos) permiten comprobar las estadísticas de rendimiento y la coherencia lógica y física de una base de datos.
Asistente para la optimización de motor de base de datos (DTA) El Asistente para la optimización de motor de base de datos analiza los efectos en el rendimiento de las instrucciones Transact-SQL ejecutadas en las bases de datos que desea optimizar. El Asistente para la optimización de motor de base de datos proporciona recomendaciones para agregar, quitar o modificar índices, vistas indizadas y particiones.
Asistente para experimentación con bases de datos (DEA) Asistente para experimentación con bases de datos (DEA) es una solución de pruebas A/B nueva para SQL Server. Ayuda a evaluar una versión de destino de Motor de base de datos de SQL Server para una carga de trabajo determinada. Al actualizar desde una versión anterior de SQL Server (a partir de SQL Server 2005 (9.x)) a cualquier versión más reciente de SQL Server, DEA será capaz de proporcionar métricas de análisis comparativas.
Registros de errores El registro de eventos de aplicación de Windows proporciona una imagen global de los eventos que ocurren en todos los sistemas operativos Windows Server y Windows, así como de los eventos de SQL Server, el Agente SQL Server y la búsqueda de texto completo. Contiene información acerca de los eventos de SQL Server que no está disponible en ningún otro lugar. Puede utilizar la información del registro de errores para solucionar problemas relacionados con SQL Server.
Eventos extendidos Extended Events es un sistema ligero de supervisión de rendimiento que usa muy pocos recursos de rendimiento. Los eventos extendidos proporcionan tres interfaces de usuario gráficas (Asistente para nueva sesión, Nueva sesión y XE Profiler) para crear, modificar, mostrar y analizar los datos de la sesión.
Funciones y vistas de administración dinámica relacionadas con ejecuciones (Transact-SQL) Las DMV relacionadas con la ejecución permiten comprobar información relacionada con la ejecución.
Estadísticas de consultas dinámicas (LQS) Muestra estadísticas en tiempo real sobre los pasos de ejecución de consultas. Dado que estos datos están disponibles mientras se ejecuta la consulta, las estadísticas de ejecución son extremadamente útiles para depurar problemas de rendimiento de las consultas.
Supervisar el uso de recursos(Monitor de sistema) La función principal del Monitor de sistema es hacer un seguimiento del uso de los recursos, como el número de solicitudes de página del administrador de búfer activas, que permite supervisar el rendimiento y la actividad del servidor mediante el uso de objetos y contadores predefinidos o contadores definidos por el usuario para supervisar eventos. El Monitor de sistema (Monitor de rendimiento en Microsoft Windows NT 4.0) recopila contadores y porcentajes en lugar de datos acerca de los eventos (por ejemplo, uso de la memoria, número de transacciones activas, número de bloqueos bloqueados o actividad de la CPU). Puede establecer umbrales en contadores específicos para generar alertas que notifiquen a los operadores.

El Monitor de sistema funciona en los sistemas operativos Microsoft Windows Server y Windows. Puede supervisar (remota o localmente) una instancia de SQL Server en Windows NT 4.0 o posterior.

La diferencia clave entre el SQL Server Profiler y el Monitor de sistema es que el SQL Server Profiler supervisa los eventos del motor de base de datos, mientras que el Monitor de sistema supervisa el uso de los recursos asociado con los procesos del servidor.
Abrir el Monitor de actividad (SQL Server Management Studio) El Monitor de actividad de SQL Server Management Studio es útil para obtener vistas ad hoc de la actividad actual y muestra gráficamente información sobre:

- Los procesos que se ejecutan en una instancia de SQL Server
- Los procesos bloqueados
- Los bloqueos
- La actividad del usuario
Panel de rendimiento El panel de rendimiento de SQL Server Management Studio ayuda a identificar rápidamente si hay un cuello de botella de rendimiento en SQL Server.
Asistente para la optimización de consultas (QTA) El Asistente para la optimización de consultas (QTA) guía a los usuarios a través del flujo de trabajo recomendado para mantener la estabilidad del rendimiento durante las actualizaciones a las versiones más recientes de SQL Server, como se documenta en la sección Mantener la estabilidad del rendimiento al actualizar a una versión más reciente de SQL Server de Escenarios de uso del Almacén de consultas.
Almacén de consultas La característica Almacén de consultas ofrece datos detallados sobre el rendimiento y la elección del plan de consultas. Esta característica simplifica la solución de problemas de rendimiento al permitirle encontrar rápidamente las diferencias de rendimiento provocadas por cambios en los planes de consulta. El Almacén de consultas captura automáticamente un historial de consultas, planes y estadísticas en tiempo de ejecución y las conserva para su revisión. Además, separa los datos por ventanas de tiempo, lo que permite ver patrones de uso de la base de datos y comprender cuándo se produjeron cambios del plan de consultas en el servidor.
Seguimiento de SQL Transact-SQL que crean, filtran y definen trazas:

sp_trace_create (Transact-SQL)
sp_trace_generateevent (Transact-SQL)
sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
sp_trace_setstatus (Transact-SQL)
SQL Server Distributed Replay Microsoft SQL Server Distributed Replay puede usar varios equipos para reproducir los datos de seguimiento, simulando una carga de trabajo crítica.
sp_trace_setfilter (Transact-SQL) SQL Server Profiler realiza un seguimiento de los eventos de procesos del motor, como el inicio de un lote o una transacción, lo que permite supervisar la actividad del servidor y de la base de datos (por ejemplo, interbloqueos, errores irrecuperables o actividad de inicio de sesión). Puede capturar datos de SQL Server Profiler en un archivo o una tabla de SQL Server para su análisis posterior y también puede reproducir paso a paso los eventos capturados en SQL Server para ver qué sucedió exactamente.
Procedimientos almacenados del sistema (Transact-SQL) Los siguientes procedimientos almacenados del sistema de SQL Server suponen una alternativa muy eficaz para realizar muchas tareas de supervisión:

sp_who (Transact-SQL):
Notifica información de instantáneas acerca de los usuarios y procesos actuales de SQL Server , incluida la información sobre la instrucción que se ejecuta actualmente y si la instrucción está bloqueada.

sp_lock (Transact-SQL):
Proporciona información de instantánea acerca de bloqueos, incluidos los identificadores de objeto y de índice, el tipo de bloqueo y el tipo o recurso al que se aplica el bloqueo.

sp_spaceused (Transact-SQL):
Muestra una estimación de la cantidad actual de espacio en disco que utiliza una tabla (o toda la base de datos).

sp_monitor (Transact-SQL):
Muestra estadísticas que incluyen el uso de la CPU, el uso de E/S y el tiempo de inactividad desde la última vez que se ejecutó sp_monitor .
Marcas de seguimiento (Transact-SQL) Las marcas de seguimiento muestran información acerca de una actividad específica en el servidor para diagnosticar problemas o causas de bajo rendimiento (por ejemplo, cadenas de interbloqueos).

Elegir una herramienta de supervisión

La elección de la herramienta de supervisión depende del evento o de la actividad que se va a supervisar.

Evento o actividad Eventos extendidos SQL Server Profiler Distributed Replay Monitor de sistema Monitor de actividad Transact-SQL Registros de error Panel de rendimiento
Análisis de tendencias
Reproducción de los eventos capturados Sí (desde un equipo único) Sí (desde varios equipos)
Supervisión ad hoc 1
Generación de alertas
Interfaz gráfica
Uso en aplicaciones personalizadas 2

1 Uso de Generador de eventos XEvent de SQL Server Management Studio
2 Uso de procedimientos almacenados del sistema de SQL Server Profiler.

Herramientas de supervisión de Windows

Los sistemas operativos Windows y Windows Server 2003 proporcionan además estas herramientas de supervisión.

Herramienta Descripción
Administrador de tareas Muestra una sinopsis de los procesos y las aplicaciones que se ejecutan en el sistema.
Agente de supervisión de red Supervisa el tráfico de red.

Para obtener más información acerca de las herramientas de los sistemas operativos Windows o Windows Server, vea la documentación de Windows.