Práctica 5. Configuración de alertas y monitoreo de rendimiento
Objetivos de la práctica:
- Aprender a configurar alertas en SQL Server para monitorear el rendimiento y detectar problemas de forma proactiva.
- Utilizar herramientas como el Agente de SQL Server, SQL Server Profiler y el Monitor de Rendimiento (Performance Monitor) para supervisar la actividad del servidor.
- Identificar y resolver problemas comunes de rendimiento, como uso excesivo de CPU, bloqueos (deadlocks), y uso ineficiente de índices.
- Configurar acciones automáticas en respuesta a las alertas, como la notificación por correo electrónico a los administradores.
Duración aproximada:
Insumos necesarios:
- Acceso a un servidor de SQL Server 2019 con permisos de administrador para poder configurar el Agente de SQL Server y los sistemas de monitoreo.
- Instalación y configuración de Database Mail para notificaciones automáticas por correo electrónico (si se desea enviar alertas vía correo).
- Bases de datos activas donde puedas generar cargas de trabajo y observar problemas de rendimiento.
Instrucciones:
1. Configuración de alertas en SQL Server
A. Habilitar el Agente de SQL Server:
- Asegurarse de que el servicio SQL Server Agent esté habilitado. Este servicio permite programar trabajos (jobs) y configurar alertas.
- En SQL Server Management Studio (SSMS), ir al Explorador de Objetos y asegurarse de que el Agente de SQL Server esté iniciado. Si no, hacer clic derecho sobre él y seleccionar “Iniciar”.
B. Configurar Database Mail (opcional):
- Si deseas que las alertas envíen correos electrónicos, primero debes configurar Database Mail.
- Configurar Database Mail desde el Explorador de Objetos > Management > Database Mail > “Configure Database Mail”.
Sigue los pasos del asistente para configurar un perfil de correo.
C. Crear un operador:
- Un operador es un contacto a quien se le enviarán alertas. Ir a SQL Server Agent > Operators > “New Operator”.
- Definir el nombre del operador y especificar la dirección de correo electrónico a la cual enviar alertas.





2. Creación de alertas
A. Configurar alertas basadas en errores del sistema:
A. Uso del Monitor de Actividad (Activity Monitor):
- Acceder al Activity Monitor en SSMS haciendo clic derecho sobre el servidor y seleccionando “Activity Monitor”.
- En la pestaña de Procesos, observar si hay consultas que consumen excesiva CPU, memoria o están bloqueando otros procesos.
- En la sección de Expensive Queries, identificar las consultas que tardan más en ejecutarse y consume más recursos.
B. Uso de SQL Server Profiler:
- El SQL Server Profiler permite capturar eventos detallados en tiempo real.
- Configurar una traza para capturar consultas lentas y eventos como bloqueos.
Definir filtros para capturar solo las consultas que superen un tiempo determinado de ejecución (por ejemplo, consultas que tarden más de 5 segundos):
- Ve a Tools > SQL Server Profiler.
Crear una nueva traza y seleccionar “TSQL_Duration” como filtro de eventos.
Filtrar para que solo se capturen consultas cuya duración sea superior a 5000 ms (5 segundos).
C. Uso del Monitor de Rendimiento (Performance Monitor):
- Desde Performance Monitor (herramienta de Windows), agregar contadores de SQL Server para supervisar el rendimiento de la memoria, el uso de CPU, y otros aspectos.
Algunos contadores clave incluyen:
- SQLServer:Buffer Manager\Page life expectancy
- SQLServer:Memory Manager\Memory Grants Pending
- SQLServer:SQL Statistics\Batch Requests/sec
4. Análisis de problemas comunes y resolución
A. Bloqueos (Deadlocks):
- Si las alertas muestran bloqueos recurrentes, se puede utilizar el monitor de bloqueos de SQL Server o configurar el Trace Flag 1222 para capturar detalles del bloqueo.
- Solución: Revisar el acceso a los recursos en las consultas involucradas en el bloqueo y optimizar el orden en que acceden a los objetos.
B. Altos tiempos de CPU:
- Si el uso de CPU es consistentemente alto, identifica las consultas que consumen más CPU utilizando el Activity Monitor o el SQL Server Profiler.
- Solución: Optimiza las consultas que consumen demasiados recursos y asegúrate de que los índices sean correctos.
C. Consulta lenta debido a índices faltantes:
- El monitoreo puede mostrar consultas lentas con un plan de ejecución que indica un Table Scan en lugar de un Index Seek.
- Solución: Crear índices adecuados para las columnas filtradas o utilizadas en las condiciones JOIN.
Revisión y acción basada en alertas
Una vez configuradas las alertas, revisar si las alertas proporcionan información suficiente para actuar ante problemas. Por ejemplo, si se recibe una alerta de CPU alta, revisar el plan de ejecución de las consultas involucradas y ajustar el diseño de índices.
Resultado esperado
Al finalizar la práctica, los estudiantes deben ser capaces de:
- Configurar alertas en SQL Server para monitorizar errores y rendimiento.
- Configurar el Agente de SQL Server para enviar notificaciones en caso de problemas de rendimiento.
- Utilizar herramientas de monitoreo en tiempo real como Activity Monitor, SQL Server Profiler y Performance Monitor para identificar problemas de rendimiento.
- Analizar y solucionar problemas comunes como bloqueos, uso excesivo de CPU, y consultas lentas debido a índices ineficientes.