Herramientas de optimización y supervisión del rendimiento

Se aplica a:SQL Server

Microsoft SQL Server proporciona un completo conjunto de herramientas para supervisar los eventos en 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 la cantidad de tiempo que la CPU ha estado ejecutando código SQL Server; @@CONNECTIONS contiene el número de conexiones o intentos de conexión SQL Server; y @@PACKET_ERRORS contiene el número de paquetes de red que se producen en las conexiones 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. Ayudará a evaluar una versión específica del motor de base de datos SQL Server para una carga de trabajo determinada. Al actualizar de 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 podrá proporcionar métricas de análisis comparativas.
Registros de errores El registro de eventos de las aplicaciones de Windows proporciona una visión general de los eventos que se producen en el servidor Windows y en los sistemas operativos Windows en su conjunto, así como de los eventos en SQL Server, Agente SQL Server y la búsqueda de texto completo. Contiene información sobre eventos en SQL Server que no está disponible en ninguna otra parte. Puede usar 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 SQL Server Profiler y Monitor de sistema es que SQL Server Profiler supervisa los eventos del motor de base de datos, mientras que el Monitor de sistema supervisa el uso de recursos asociados a los procesos de servidor.
Abrir el Monitor de actividad (SQL Server Management Studio) El Monitor de actividad en SQL Server Management Studio es útil para las vistas ad hoc de la actividad actual y muestra gráficamente información sobre:

- 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 existe algún cuello de botella en el rendimiento actual de SQL Server.
Asistente para la optimización de consultas (QTA) La función Asistente para la optimización de consultas (QTA) guiará a los usuarios a través del flujo de trabajo recomendado para mantener la estabilidad del rendimiento durante las actualizaciones a versiones más recientes de SQL Server, tal y como se documenta en la sección Mantener la estabilidad del rendimiento durante la actualización a versiones más recientes 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 Procedimientos almacenados Transact-SQL que crean, filtran y definen el rastreo:

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 ordenadores para reproducir datos de seguimiento, simulando una carga de trabajo de misión crítica.
sp_trace_setfilter (Transact-SQL) SQL Server Profiler realiza un seguimiento de los eventos del proceso del motor, como el inicio de un lote o de 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 los datos de SQL Server Profiler en una tabla de SQL Server o en un archivo para su posterior análisis, y también puede reproducir los eventos capturados en SQL Server paso a paso, para ver exactamente lo que ocurrió.
Procedimientos almacenados del sistema (Transact-SQL) Los siguientes procedimientos almacenados del sistema SQL Server proporcionan una potente alternativa para muchas tareas de supervisión:

sp_who (Transact-SQL):
Muestra un instantánea de informe sobre los usuarios y procesos actuales de SQL Server, incluida la instrucción que se está ejecutando 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 errores 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 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.