1. Introducción
1.1 Que es SQL Server ¿Monitor de actividad?
SQL Server El Monitor de Actividad es una herramienta de diagnóstico integrada.ostherramienta ic dentro SQL Server Estudio de gestión que muestra información sobre SQL Server procesos y su efecto en el rendimiento del servidor. Le permite realizar un seguimiento. SQL Server Procesar, supervisar las esperas de recursos, analizar consultas costosas y observar patrones de E/S, todo desde una única interfaz.
1.2 ¿Por qué usar SQL Server ¿Monitor de actividad?
El Monitor de Actividad es tu primera línea de defensa a la hora de solucionar problemas de rendimiento. Te proporciona visibilidad inmediata de lo que está sucediendo en tu… SQL Server instancia sin necesidad de consultas T-SQL complejas ni herramientas de terceros.
Esta herramienta destaca por ayudarte a identificar rápidamente problemas comunes como sesiones bloqueadas, consultas que consumen muchos recursos de CPU, ejecuciones excesivas de consultas y cuellos de botella de E/S. Cuando los usuarios informan que una aplicación es lenta o no responde, el Monitor de Actividad te ayuda a determinar si el servidor de base de datos es el causante del problema.
Para administradores de bases de datos que no trabajan con SQL Server El Monitor de Actividad ofrece diariamente un punto de entrada accesible para comprender la actividad del servidor. Incluso los administradores de bases de datos experimentados lo utilizan como su principal herramienta.tarpunto de partida para las investigaciones de rendimiento.
1.3 Monitor de actividad frente a otras herramientas de monitorización
Si bien el Monitor de Actividad es valioso, es importante comprender cómo se compara con otras opciones de monitoreo:
Monitor de actividad vs sp_WhoIsActive: El Monitor de Actividad ofrece una interfaz gráfica con varios paneles, mientras que sp_WhoIsActive es un procedimiento almacenado completo que proporciona información más detallada en un único conjunto de resultados. sp_WhoIsActive muestra los tipos de espera específicos que el Monitor de Actividad agrupa y ofrece información de bloqueo más precisa.
Monitor de actividad vs sp_who2: El comando tradicional sp_who2 muestra información básica de la sesión, pero el Monitor de Actividad va más allá al mostrar estadísticas de espera, consultas costosas y métricas de E/S en un formato visual y organizado.
Monitor de actividad frente a herramientas de terceros: Las soluciones de monitorización comercial como SolarWinds Database Performance Analyzer ofrecen seguimiento histórico, alertas y análisis avanzados de los que carece Activity Monitor. Sin embargo, Activity Monitor no requiere ninguna configuración adicional.ost o instalación.
1.4 Beneficios clave para los administradores de bases de datos
El Monitor de Actividad ofrece varias ventajas que lo convierten en una herramienta esencial para los administradores de bases de datos:
- Cero Cost: Como parte integrada SQL Server Gracias a la función Management Studio, no se requiere ningún pago de licencia ni esfuerzo de implementación.
- Monitoreo en tiempo real: Visualice la actividad actual del servidor en tiempo real, con intervalos de actualización configurables desde 1 segundo hasta 1 hora.
- Acciones integradas: Haz clic con el botón derecho en los procesos para finalizar sesiones, ver detalles de la consulta o iniciar. SQL Server Análisis de rendimiento: todo ello desde la propia herramienta.
- Multiples perspectivas: Visualice el estado del servidor desde diferentes ángulos a través de cinco paneles especializados, cada uno centrado en aspectos específicos del rendimiento.
- Solución rápida de problemas: Identificar la most Problemas de rendimiento comunes en cuestión de minutos, acelerando el tiempo medio de resolución.
- Barrera de entrada baja: No se requieren conocimientos avanzados para comenzar a usar la herramienta de manera efectiva, aunque se requiere un conocimiento más profundo. SQL Server La experiencia ayuda en la interpretación.
2. Obtener Starcon monitor de actividad
Antes de poder aprovechar el Monitor de Actividad de forma eficaz, es necesario comprender los requisitos previos, los permisos necesarios y los distintos métodos para iniciar la herramienta.
2.1 Requisitos previos y requisitos del sistema
Para utilizar SQL Server Monitor de actividad, lo necesitas SQL Server Management Studio (SSMS) instalado en su equipo local o en un servidor intermedio. La herramienta Monitor de Actividad fue rediseñada significativamente en SQL Server 2008, por lo que la información de esta guía se aplica a SQL Server Versiones de 2008 y posteriores.
Debes tener conectividad de red a la SQL Server Instancia que desea supervisar. Para cloud-hostPara acceder a las bases de datos ed, normalmente necesitará una conexión VPN o reglas de firewall configuradas correctamente para acceder a la instancia.
El Monitor de Actividad funciona con todas las ediciones de SQL Server, incluidas las ediciones Express, Standard y Enterprise. La herramienta se ejecuta en su equipo cliente dentro de SSMS, por lo que los recursos del servidor solo se ven afectados por las consultas de supervisión que ejecuta.
2.2 Permisos requeridos
Los permisos adecuados son esenciales para que el Monitor de Actividad funcione correctamente. Sin los derechos apropiados, es posible que vea una pantalla en blanco o reciba errores de acceso denegado.
2.2.1 Permiso para ver el estado del servidor
El más grande de Texas bufete de abogados de bancarrota VER ESTADO DEL SERVIDOR El permiso es el requisito principal para usar el Monitor de Actividad. Este permiso a nivel de servidor le permite ver todos los procesos activos y sus métricas asociadas.
Para otorgar este permiso, un administrador del servidor puede ejecutar:
GRANT VIEW SERVER STATE TO [YourLoginName];
Sin el comando VIEW SERVER STATE, es posible que el Monitor de Actividad se abra, pero no mostrará datos en ninguno de sus paneles.
2.2.2 Permisos a nivel de base de datos
Para ver la información en el panel de E/S de archivos de datos, necesita permisos adicionales. En concreto, debe tener una de las siguientes combinaciones:
- CREAR BASE DE DATOS permiso, o
- MODIFICAR CUALQUIER BASE DE DATOS permiso, o
- VER CUALQUIER DEFINICIÓN (permission)
Estos permisos deben combinarse con VER ESTADO DEL SERVIDOR para disfrutar de todas las funciones del Monitor de Actividad.
2.2.3 Solución de problemas de permisos
Si el Monitor de Actividad se abre pero no muestra datos, el problema está en los permisos.ost Causa común. Comprueba que tu usuario tenga el permiso VIEW SERVER STATE concedido a nivel de servidor. Puedes verificar tus permisos ejecutando:
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
Busque 'VIEW SERVER STATE' en la columna permission_name. Si no aparece, póngase en contacto con su administrador de base de datos para que lo conceda.
2.3 Cómo abrir el Monitor de Actividad en SSMS
SQL Server Management Studio ofrece cuatro métodos diferentes para iniciar el Monitor de Actividad, lo que le brinda flexibilidad según sus preferencias de flujo de trabajo.
2.3.1 Método 1: Desde la barra de herramientas
La forma más rápida de abrir el Monitor de Actividad es utilizando el icono de la barra de herramientas:
- Conéctate a tu SQL Server instancia en SQL Server Estudio de gestión.
- Localiza el icono del Monitor de Actividad en la barra de herramientas estándar (se asemeja a un gráfico de barras con un botón de reproducción verde).
- Haz clic en el icono para abrir el Monitor de Actividad.
Este método es el más rápido cuando ya estás trabajando en SSMS y necesitas comprobar rápidamente la actividad del servidor.
2.3.2 Método 2: Desde el Explorador de objetos
También puedes iniciar el Monitor de Actividad directamente desde el Explorador de objetos:
- En el Explorador de objetos, localice el SQL Server instancia que desea supervisar.
- Haz clic con el botón derecho en el nombre de la instancia.
- Seleccione Activity Monitor desde el menú contextual.
Este método resulta útil al conectarse a varios servidores, ya que garantiza que se esté monitorizando la instancia correcta.
2.3.3 Método 3: Uso de atajos de teclado
Para usuarios centrados en el teclado, SQL Server Management Studio proporciona un acceso directo específico:
- Asegúrese de que SSMS sea la ventana activa y de que esté conectado a una instancia.
- Prensa Ctrl + otro + A.
- El Monitor de Actividad se abrirá para la instancia actualmente seleccionada en el Explorador de objetos.
Tenga en cuenta que el Monitor de Actividad se conectará a la instancia de servidor que haya seleccionado en el Explorador de objetos, así que asegúrese de haber seleccionado la instancia correcta antes de usar este acceso directo.
2.3.4 Método 4: Desde el menú Opciones (S)tarConfiguración de tup)
Si usas con frecuencia el Monitor de Actividad, puedes configurar SSMS para que se inicie automáticamente cada vez que lo uses.taren la aplicación:
- In SQL Server Estudio de gestión, navegue a Accesorios -> Opciones.
- En el cuadro de diálogo Opciones, expanda Medio AmbienteY seleccione Inicio.
- Desde la aplicación en startubo lista desplegable, seleccione Abra el Explorador de objetos y el Monitor de actividad..
- Seleccione OK.
La próxima vez que inicie SSMS y se conecte a un servidor, el Monitor de actividad se abrirá automáticamente junto con el Explorador de objetos.
3. Comprender los paneles del Monitor de Actividad
El Monitor de Actividad organiza la información en cinco paneles expandibles, cada uno de los cuales ofrece una perspectiva diferente de la actividad del servidor. Comprender lo que muestra cada panel es fundamental para una resolución de problemas eficaz.
3.1 Panel de resumen
El panel de resumen presenta cuatro gráficos en tiempo real que le ofrecen una rápida visión general del estado de su sistema. SQL Server Por ejemplo, estos gráficos se actualizan a intervalos configurables y le ayudan a identificar patrones anómalos de un vistazo.
3.1.1 % Tiempo de procesador
Este gráfico muestra el porcentaje de tiempo que el procesador dedica a ejecutar hilos no inactivos. SQL Server instancia en todas las CPU. El valor representa SQL ServerSe refiere a la utilización del procesador, no al uso total de la CPU del servidor.
Si observa constantemente que el tiempo de procesador se mantiene en o cerca del 100%, su servidor está limitado por la CPU. Esto podría indicar consultas ineficientes, índices faltantes o capacidad de hardware insuficiente. Utilice el panel "Consultas recientes costosas" para identificar qué consultas están consumiendo la mayor parte de la CPU.ost La CPU.
3.1.2 Tareas de espera
Esta métrica muestra la cantidad de tareas que están esperando a que se liberen recursos para poder continuar. Las tareas pueden estar esperando por CPU, E/S, memoria o bloqueos.
Un número elevado y constante de tareas en espera indica contención de recursos. El panel de Esperas de recursos proporciona más detalles sobre los tipos de recursos que causan las esperas.
3.1.3 Entrada/Salida de la base de datos (MB/s)
Este gráfico muestra la velocidad de transferencia de datos entre la memoria y el disco. Combina lecturas y escrituras, medidas en megabytes por segundo.
Los picos en la E/S de la base de datos pueden indicar consultas que realizan escaneos de tablas grandes, una actividad de registro excesiva u operaciones de punto de control. El panel de E/S de archivos de datos desglosa la actividad de E/S por base de datos y archivo.
3.1.4 Solicitudes por lotes/seg
Esta métrica representa el número de SQL Server Lotes recibidos por la instancia por segundo. Un lote puede ser una sola instrucción o varias instrucciones enviadas juntas.
Este valor ofrece una idea de la actividad general del servidor. Las caídas repentinas en las solicitudes por lotes durante el horario laboral habitual pueden indicar problemas de conectividad de la aplicación o problemas que afectan a los usuarios.
3.1.5 Configuración de intervalos de actualización
Puedes personalizar la frecuencia con la que el Monitor de Actividad actualiza sus datos:
- Haz clic con el botón derecho en cualquier lugar del panel de Información general.
- Seleccione Intervalo de actualización.
- Elija un intervalo de los valores predefinidos: 1 segundo, 5 segundos, 10 segundos (predeterminado), 30 segundos, 1 minuto o 1 hora.
Configurar intervalos de actualización inferiores a 10 segundos aumenta la carga de monitorización en el servidor. Para sistemas de producción con alta carga, considere usar intervalos de 30 segundos o más para minimizar el impacto.
3.2 Panel de procesos
El panel Procesos muestra información sobre las sesiones que se están ejecutando actualmente en su dispositivo. SQL Server Por ejemplo, este panel es esencial para identificar quién está haciendo qué y detectar problemas que bloquean el paso.
3.2.1 Comprensión de la información del proceso
Cada fila del panel Procesos representa una sesión activa en el servidor. El panel muestra las sesiones de todas las bases de datos y todos los usuarios, lo que proporciona una visión completa de la actividad del servidor.
La información mostrada incluye el nombre de inicio de sesión, el nombre de la aplicación, hostNombre, base de datos a la que se accede y comando actual. Esto le ayuda a correlacionar la actividad de la base de datos con usuarios o aplicaciones específicos.
3.2.2 Explicación de las columnas clave
Comprender las columnas clave le ayudará a interpretar la información del proceso de manera eficaz:
- ID de sesión: Un identificador único para cada conexión. Los procesos del sistema utilizan identificadores de sesión negativos.
- Proceso del usuario: Indica si se trata de una sesión de usuario (Sí) o de un proceso del sistema (No).
- Entrar: El más grande de Texas bufete de abogados de bancarrota SQL Server Iniciar sesión o cuenta de Windows asociada a la sesión.
- Base de datos: El contexto actual de la base de datos para la sesión.
- Estado de la tarea: Muestra el estado actual de la sesión (EN EJECUCIÓN, SUSPENDIDA, EN REPOSO, etc.).
- comando: El tipo de comando que se está ejecutando (SELECT, INSERT, UPDATE, etc.).
- Aplicación: El nombre de la aplicación que creó la conexión.
- Tiempo de espera: ¿Cuánto tiempo (en milisegundos) ha estado esperando la sesión por recursos?
- Tipo de espera: El tipo específico de recurso que la sesión está esperando.
- Tiempo de CPU: Tiempo total de CPU consumido por esta sesión desde que se conectó.
- Uso de la memoria: Cantidad de memoria (en KB) actualmente asignada a la sesión.
3.2.3 Procesos de filtrado y ordenación
El panel Procesos incluye potentes funciones de filtrado para ayudarle a centrarse en las sesiones relevantes:
- Haz clic en la flecha desplegable de cualquier encabezado de columna.
- El filtro muestra los valores disponibles para esa columna, incluyendo Todos, Espacios en blanco y No espacios en blanco.
- Seleccione valores específicos para filtrar la visualización y mostrar solo esas sesiones.
Por ejemplo, puedes filtrar Estado de la tarea para mostrar solo las sesiones EN CURSO o filtrar Database Para ver la actividad relacionada con una base de datos específica.
También puedes ordenar por cualquier columna haciendo clic en su encabezado. Haz clic una vez para ordenar de forma ascendente y dos veces para ordenar de forma descendente.
3.2.4 Identificación de bloqueos y sesiones bloqueadas
El panel Procesos le ayuda a identificar escenarios de bloqueo en los que una sesión impide que otras continúen:
- Bloqueado por: Muestra el ID de sesión de la sesión que está bloqueando esta sesión. Si esta columna contiene un valor, la sesión está esperando a que otra sesión libere un bloqueo.
- Bloqueador de cabezas: Muestra '1' si esta sesión está bloqueando a otras, pero no está bloqueada ella misma. Esta es la causa principal de una cadena de bloqueos.
Para investigar un problema de bloqueo, primero identifique el bloqueador principal (la sesión marcada con '1' en la columna Bloqueador principal), luego examine lo que está haciendo y decida si dejar que se complete o terminarla.
3.2.5 Acciones del proceso (Finalizar, Detalles, Rastrear)
El Monitor de Actividad te permite realizar acciones en sesiones individuales:
- Haz clic con el botón derecho en cualquier sesión del panel Procesos.
- Verás varias opciones:
- Detalles: Muestra el último comando ejecutado por esta sesión.
- Proceso de finalización: Finaliza la sesión (úsese con precaución).
- Proceso de seguimiento en SQL Server Perfilador: lanza la SQL Server Profiler y filtra automáticamente para mostrar solo la actividad de esta sesión.
La opción Detalles muestra el texto del comando, pero tenga en cuenta que este es el pasado El comando se ha ejecutado, aunque puede que ya no se esté ejecutando. La opción de seguimiento es especialmente útil cuando se necesita ver la secuencia completa de comandos que ejecuta una sesión.
3.3 Panel de espera de recursos
El panel de Esperas de Recursos resume las estadísticas de espera, mostrando qué tipos de recursos están esperando las sesiones.ost Con frecuencia. Esta información es crucial para diagnosticar cuellos de botella en el rendimiento.
3.3.1 Comprensión de las estadísticas de espera
Al SQL Server Si no se puede conceder inmediatamente una solicitud de recursos (como un bloqueo, tiempo de CPU o memoria), la tarea solicitante entra en un estado de espera. Las estadísticas de espera registran estos periodos de espera y ayudan a comprender en qué momentos el servidor está dedicando tiempo a esperar en lugar de trabajar.
El panel Esperas de recursos recopila datos de vistas de administración dinámica del sistema como sys.dm_os_wait_stats y sys.dm_exec_requests. En cada intervalo de actualización, calcula la diferencia entre la instantánea actual y la anterior, mostrando la tasa de acumulación para cada tipo de espera.
3.3.2 Categorías de espera
El Monitor de Actividad agrupa cientos de tipos de espera individuales en categorías más amplias para simplificar la interpretación:
- UPC: Tareas en espera de que haya tiempo de CPU disponible.
- Pestillo de búfer: Espera a que se resuelvan los objetos de sincronización a corto plazo que protegen el acceso a las páginas de datos en memoria. Esta categoría incluye las esperas de bloqueo de página (PAGELATCH_*).
- Bloqueo: Esperas causadas por sesiones que mantienen bloqueos que otras sesiones necesitan.
- Memoria: Espera a que se liberen los permisos de memoria necesarios para operaciones como la ordenación y el hash.
- E/S de red: Espera enviando o recibiendo datos de los clientes.
- SQL CLR: Tiempos de espera relacionados con la ejecución de Common Language Runtime.
Si bien esta agrupación simplifica la vista, también oculta detalles importantes. Por ejemplo, "Buffer Latch" podría agrupar las esperas PAGELATCH_SH, PAGELATCH_UP y PAGELATCH_EX, que tienen diferentes implicaciones para el rendimiento.
3.3.3 Interpretación del tiempo de espera y las tareas de espera
El panel de Esperas de Recursos muestra dos métricas clave para cada categoría de espera:
- Tiempo de espera acumulado (ms): El total de milisegundos acumulados durante el intervalo de actualización actual para esta categoría de espera.
- Tareas de espera: Número de tareas que actualmente esperan recursos en esta categoría.
El valor del tiempo de espera es particularmente interesante. Si tiene un intervalo de actualización de 10 segundos y observa un tiempo de espera de 20,000 ms para una categoría, esto indica múltiples esperas simultáneas (20,000 ms / 10,000 ms = promedio de 2 esperas simultáneas durante el intervalo).
3.3.4 Identificación de cuellos de botella en el rendimiento
Utilice el panel de Esperas de recursos para identificar dónde está invirtiendo su servidor los recursos.ost tiempo de espera:
- Expanda el panel Esperas de recursos.
- Observe las categorías de espera que acumulan los mayores tiempos de espera.
- Ordenar por Tiempo de espera acumulado para ver qué recursos son most constreñido.
Los altos tiempos de espera de bloqueo de búfer suelen indicar contención por páginas de datos en memoria, lo que podría sugerir cuellos de botella de E/S o contención de tempdb. Los altos tiempos de espera de bloqueo apuntan a problemas de bloqueo. Los altos tiempos de espera de memoria sugieren una asignación de memoria insuficiente para las operaciones de consulta.
3.4 Panel de E/S de archivos de datos
El panel de E/S de archivos de datos muestra la actividad del disco para cada archivo de base de datos en su servidor, lo que le ayuda a identificar cuellos de botella de E/S y a comprender los patrones de utilización del disco.
3.4.1 Comprensión de las métricas de E/S
El panel de E/S de archivos de datos muestra varias métricas para cada archivo de base de datos:
- Base de datos: El nombre de la base de datos.
- Tipo de archivo: Datos (incluidas tablas e índices) o Registro (registro de transacciones).
- Nombre lógico: El nombre de archivo lógico tal como se define en SQL Server.
- Lectura en MB/seg: Velocidad de lectura de datos de este archivo.
- MB/seg Escrito: La velocidad a la que se escriben los datos en este archivo.
- Tiempo de respuesta (ms): Tiempo de respuesta promedio para operaciones de E/S en este archivo.
Estas métricas se actualizan al mismo intervalo que el panel de Información general, lo que le proporciona visibilidad en tiempo real de la actividad del disco.
3.4.2 Identificación de cuellos de botella de E/S
Esté atento a estos patrones que indican problemas de rendimiento de E/S:
- Tiempo de respuesta elevado: Tiempos de respuesta superiores a 15-20 ms sugieren subsistemas de disco lentos. Tiempos de respuesta superiores a 50 ms indican cuellos de botella de E/S graves.
- Carga desequilibrada: Si un archivo de datos muestra tasas de E/S significativamente más altas que otros en la misma base de datos, puede ser beneficioso agregar archivos adicionales para distribuir la carga.
- Actividad excesiva de Tempdb: Las altas tasas de E/S en los archivos tempdb a menudo indican consultas que crean grandes conjuntos de resultados intermedios o que utilizan planes de ejecución ineficientes.
3.4.3 Análisis de archivos de base de datos
Utilice el panel de E/S de archivos de datos para comprender cómo sus bases de datos utilizan los recursos de disco:
- Amplíe el panel de E/S de archivos de datos.
- Ordenar por Lectura en MB/s or MB/seg Escrito para identificar la most archivos activos.
- Toma nota de cualquier archivo con actividad consistentemente alta o tiempos de respuesta prolongados.
- Compare esta información con el panel de Consultas costosas recientes para identificar qué consultas están generando la carga de E/S.
3.5 Panel de consultas recientes de alto coste
El panel de Consultas Costosas Recientes suele ser el primero.ost Panel útil para solucionar problemas de rendimiento de la aplicación. Muestra las consultas que consumen una cantidad significativa de recursos del servidor, lo que ayuda a identificar oportunidades de optimización.
3.5.1 Comprensión de las métricas de consulta
El Monitor de Actividad muestra varias métricas para cada consulta costosa:
- Ejecuciones/min: ¿Cuántas veces se ejecutó la consulta durante el último minuto?
- CPU (ms/seg): Tiempo de CPU consumido por esta consulta por segundo.
- Lecturas físicas/seg: Número de lecturas de disco físico por segundo para esta consulta.
- Escrituras lógicas/seg: Número de escrituras lógicas (en la caché de búfer) por segundo.
- Lecturas lógicas/seg: Número de lecturas lógicas (desde la caché de búfer) por segundo.
- Duración media (ms): Tiempo medio de ejecución de esta consulta.
- Número de planes: Número de planes de ejecución en caché para esta consulta.
Estas métricas te ayudan a comprender no solo qué consultas son costosas, sino también por qué Son caros y con qué frecuencia se utilizan.
3.5.2 Opciones de ordenación
Puedes ordenar el panel de Consultas Costosas Recientes por diferentes métricas para encontrar distintos tipos de problemas:
- Haz clic en cualquier encabezado de columna para ordenar por esa métrica.
- Las estrategias de clasificación comunes incluyen:
- Ordenar por CPU: Encuentra consultas que consumen la most tiempo de procesamiento.
- Ordenar por ejecuciones/min: Identificar las consultas que se ejecutan con excesiva frecuencia.
- Ordenar por lecturas físicas: Encuentra consultas que causan el most Entrada/salida de disco.
- Ordenar por duración media: Localizar consultas de larga duración.
Al solucionar un problema de rendimiento, intente ordenar por varias columnas para obtener diferentes perspectivas. Una consulta con un uso moderado de CPU pero con una cantidad extremadamente alta de ejecuciones por minuto podría ser el verdadero problema.
3.5.3 Visualización del texto de consulta
Para ver la instrucción SQL real que hay detrás de una consulta costosa:
- Haz clic con el botón derecho en la fila de la consulta en el panel Consultas recientes costosas.
- Seleccione Editar texto de consulta.
- Se abre una nueva ventana de consulta que muestra la instrucción SQL completa.
Esto permite examinar la lógica de la consulta e identificar posibles oportunidades de optimización. A continuación, se puede copiar el texto de la consulta para probar las versiones modificadas.
3.5.4 Análisis de los planes de ejecución
Los planes de ejecución te muestran cómo SQL Server ejecuta una consulta, revelando ineficiencias como índices faltantes o tipos de unión inapropiados:
- Haz clic con el botón derecho en la fila de la consulta en el panel Consultas recientes costosas.
- Seleccione Mostrar plan de ejecución.
- SQL Server Management Studio muestra una representación gráfica de cómo se ejecuta la consulta.
Busque operaciones que consuman un gran porcentaje de la capacidad de la consulta.ost, advertencias sobre estadísticas o índices faltantes y operaciones de escaneo de tablas inesperadas. Estas suelen indicar dónde deben centrarse los esfuerzos de optimización.
3.5.5 Identificación de consultas problemáticas
Presta atención a estos patrones en el panel de Consultas costosas recientes:
- Ejecuciones excesivas: Una consulta que se ejecuta miles de veces por minuto podría indicar un problema de consulta N+1, donde el código de la aplicación llama a la base de datos dentro de un bucle.
- Lecturas físicas altas: Las consultas con altas tasas de lectura física acceden al disco con frecuencia, lo que sugiere la falta de índices o consultas mal escritas.
- Alto consumo de CPU con baja duración: Muchas consultas rápidas que consumen mucha CPU en conjunto pueden afectar el rendimiento del servidor tanto como unas pocas consultas lentas.
- Recuento de múltiples planes: Las consultas con muchos planes de ejecución pueden sufrir problemas de detección de parámetros o las consultas no parametrizadas pueden provocar una sobrecarga de la caché de planes.
4. Uso del Monitor de Actividad para la resolución de problemas de rendimiento
El Monitor de Actividad realmente brilla cuando se usa de forma sistemática para diagnosticar y resolver problemas de rendimiento. Esta sección abarca escenarios comunes de solución de problemas y cómo abordarlos.
4.1 Diagnóstico de ejecuciones de consultas excesivas
Uno de ellosost Un problema común de rendimiento es la ejecución de consultas con mucha más frecuencia de la necesaria, a menudo debido a problemas de diseño de la aplicación.
4.1.1 Identificación de consultas repetidas
Para detectar consultas que se ejecutan con demasiada frecuencia:
- Abre el Monitor de Actividad y expande la Consultas costosas recientes cristal.
- Ordenar por Ejecuciones/minuto (ejecuciones por minuto).
- Busque consultas en la parte superior con recuentos de ejecuciones que parezcan excesivamente altos.
- Haz clic con el botón derecho en la consulta sospechosa y selecciona Editar texto de consulta para examinar la instrucción SQL.
Por ejemplo, si ve una simple instrucción SELECT ejecutándose 37,000 veces por minuto, pregúntese si la aplicación realmente necesita llamar a esta consulta con tanta frecuencia.ost Las consultas que se ejecutan más de unos pocos miles de veces por minuto justifican una investigación.
4.1.2 Análisis de causa raíz
Las ejecuciones excesivas de consultas suelen deberse a estos problemas:
- Problema de consulta N+1: El código de la aplicación recupera una lista de elementos y, a continuación, ejecuta una consulta independiente para cada elemento con el fin de obtener los datos relacionados. Esto genera N consultas adicionales, donde N es el número de elementos.
- Falta el almacenamiento en caché: La aplicación consulta la base de datos para obtener datos que rarRealizar cambios rápidos en lugar de almacenarlos en caché en la memoria de la aplicación.
- Bucles de sondeo: El código consulta repetidamente la base de datos para comprobar si hay cambios de estado, en lugar de utilizar notificaciones de cambios o colas de mensajes.
- Ineficiencia de la gestión de recursos operativos: Entity Framework y herramientas similares a veces generan patrones de consulta ineficientes cuando los desarrolladores no entienden cómo se traduce su código a SQL.
Para determinar la causa raíz, rastree la consulta hasta el código de la aplicación. Tenga en cuenta lo siguiente: Aplicación y Iniciar sesión columnas en el panel Procesos cuando se ejecuta la consulta. También puede hacer clic con el botón derecho en el proceso y seleccionar Proceso de seguimiento en SQL Server Profiler para ver el patrón de llamadas.
4.1.3 Soluciones y mejores prácticas
Una vez que haya identificado las ejecuciones de consultas excesivas, considere estas soluciones:
- Procesamiento por lotes: Modifique el código de la aplicación para recuperar varios elementos en una sola consulta utilizando combinaciones (joins) o cláusulas IN, en lugar de ejecutar consultas separadas en un bucle.
- Almacenamiento en caché de resultados: Almacena en caché datos de acceso frecuente y cambios poco frecuentes en la memoria de la aplicación con tiempos de expiración adecuados.
- Carga ansiosa: Configure los ORM para que utilicen estrategias de carga anticipada que obtengan datos relacionados en menos consultas y de forma más eficiente.
- Parametrización de consultas: Asegúrese de que las consultas utilicen parámetros en lugar de concatenar valores, lo que mejora la reutilización de la caché de planes y reduce la sobrecarga de compilación.
4.2 Investigación de problemas de bloqueo
El bloqueo se produce cuando una sesión mantiene bloqueos que impiden que otras sesiones continúen. Esto se manifiesta en tiempos de respuesta lentos de la aplicación y usuarios frustrados.
4.2.1 Identificación de cadenas de bloqueo
Para detectar y analizar el bloqueo:
- Abre el Monitor de Actividad y expande la Procesos cristal.
- Busque sesiones con valores en el Bloqueado por columna—estas están esperando bloqueos mantenidos por otras sesiones.
- Encuentra sesiones con '1' en el Bloqueador de cabezas columna—estas son la causa principal de las cadenas bloqueadas.
- Nota la ID de sesión del bloqueador de cabeza.
- Haz clic con el botón derecho en la sesión del bloqueador de cabeza y selecciona Detalles para ver qué comando está ejecutando.
Comprender la cadena de bloqueo es crucial. El bloqueador principal es la sesión que debe investigar, no las sesiones bloqueadas posteriores.
4.2.2 Comprensión de los tipos de cerraduras
El más grande de Texas bufete de abogados de bancarrota Tipo de espera La columna del panel Procesos indica qué tipo de bloqueo están esperando las sesiones bloqueadas:
- LCK_M_X: Espera de bloqueo exclusivo, generalmente causada por operaciones de ACTUALIZACIÓN, ELIMINACIÓN o INSERCIÓN.
- LCK_M_S: Espera de bloqueo compartido, generalmente sentencias SELECT que esperan a que se liberen los bloqueos exclusivos.
- LCK_M_U: Espera de bloqueo de actualización, un tipo de bloqueo intermedio utilizado durante las actualizaciones.
- LCK_M_IX: Espera de bloqueo exclusivo de intención, que indica contención de bloqueo a nivel de página o fila.
El más grande de Texas bufete de abogados de bancarrota Espera de recursos Esta columna muestra qué objeto de la base de datos está bloqueado, lo que le ayudará a comprender qué tabla o índice está involucrado en la contención.
4.2.3 Resolución de problemas de bloqueo
Una vez que haya identificado la sesión que bloquea el proceso y lo que está haciendo, tiene varias opciones:
- Espere a que finalice: Si el proceso que bloquea la ejecución está ejecutando una consulta legítima que finalizará pronto, lo mejor puede ser dejar que termine de forma natural.
- Finalizar la sesión: Si el bloqueador principal está atascado o ejecutando una consulta que debería cancelarse:
- Haz clic con el botón derecho en la sesión en el panel Procesos.
- Seleccione Kill Process.
- Confirme la acción en el cuadro de diálogo.
- Optimizar consultas: Si el bloqueo se repite con las mismas consultas, optimícelas para reducir la duración del bloqueo.
- Ajustar los niveles de aislamiento: Considere la posibilidad de utilizar READ COMMITTED SNAPSHOT ISOLATION para reducir el bloqueo en cargas de trabajo con muchas lecturas.
- Ajuste del índice: Agrega índices para acelerar las consultas, reduciendo el tiempo que mantienen los bloqueos.
4.3 Análisis del alto uso de CPU
Cuando el panel de Información general muestra que el tiempo de procesador se mantiene constantemente en o cerca del 100%, es necesario identificar qué consultas son las responsables y determinar si se pueden optimizar.
4.3.1 Identificación de consultas que consumen muchos recursos de CPU
Para encontrar consultas que consumen un uso excesivo de CPU:
- Abra la Consultas costosas recientes cristal.
- Ordenar por CPU (ms/seg) para mostrar consultas usando la most Tiempo de CPU.
- Examine las consultas principales de la lista.
- Haz clic con el botón derecho en las consultas que consumen muchos recursos de CPU y selecciona Editar texto de consulta Para ver la instrucción SQL.
- Seleccione Mostrar plan de ejecución para comprender cómo se ejecuta la consulta.
Presta atención no solo al uso de CPU de cada consulta individual, sino también al... Ejecuciones/minuto columna. Una consulta que utiliza una cantidad moderada de CPU por ejecución, pero que se ejecuta miles de veces por minuto, puede ser la que más CPU consume.
4.3.2 Técnicas de optimización de consultas
Entre los métodos comunes para reducir el consumo de CPU se incluyen:
- Agregar índices faltantes: Las búsquedas de índices consumen mucha menos CPU que los escaneos de tablas. Busque recomendaciones de índices faltantes en los planes de ejecución.
- Reescribir consultas ineficientes: Reemplace los cursores con operaciones basadas en conjuntos, elimine las funciones innecesarias en las cláusulas WHERE y elimine las uniones redundantes.
- Actualizar estadísticas: Las estadísticas obsoletas causan SQL Server Para seleccionar planes de ejecución ineficientes, ejecute UPDATE STATISTICS en las tablas afectadas.
- Reducir el volumen de datos: Agregue cláusulas WHERE para filtrar datos con anterioridad, utilice TOP u OFFSET/FETCH para la paginación y evite SELECT *.
- Solucionar el problema de detección de parámetros: Utilice OPTION (RECOMPILE), sugerencias de consulta o guías de planificación cuando la detección de parámetros cause problemas.
4.4 Investigación de problemas de memoria
La presión sobre la memoria puede provocar que las consultas se escriban en el disco, lo que reduce significativamente el rendimiento. El Monitor de Actividad te ayuda a identificar las operaciones que consumen mucha memoria.
4.4.1 Comprensión de las métricas de memoria
El más grande de Texas bufete de abogados de bancarrota Uso de la memoria La columna del panel Procesos muestra la memoria asignada a cada sesión en kilobytes. Un alto consumo de memoria por parte de una sola sesión suele indicar:
- Operaciones de ordenamiento o hash de gran tamaño que no cabían en la memoria inicialmente asignada.
- Consultas que recuperan conjuntos de resultados enormes
- El paralelismo excesivo crea muchas copias de los operadores del plan de ejecución.
- Fugas de memoria en procedimientos o funciones almacenadas de CLR
El panel Esperas de recursos puede mostrar esperas de memoria cuando las consultas no pueden obtener suficientes asignaciones de memoria y deben esperar a que la memoria esté disponible.
4.4.2 Identificación de consultas que consumen mucha memoria
Para encontrar consultas que provocan presión en la memoria:
- En el cuadro de diálogo Procesos panel, ordenar por Uso de la memoria para ver las sesiones que consumen la most memoria.
- Haz clic con el botón derecho en las sesiones con alto uso de memoria y selecciona Detalles para ver sus consultas.
- En el cuadro de diálogo Consultas costosas recientes panel, busque consultas con alto Lecturas lógicas or Escritura lógica, ya que estos factores suelen correlacionarse con el uso de la memoria.
- Examine los planes de ejecución de los operadores Sort y Hash Match, que utilizan asignaciones de memoria.
Las consultas que muestran advertencias de “Memory Grant” en los planes de ejecución o advertencias de desbordamiento indican problemas de presión de memoria.
4.5 Detección de problemas de rendimiento de la aplicación
Cuando los usuarios informan de tiempos de respuesta lentos de las aplicaciones, el Monitor de Actividad le ayuda a determinar si la base de datos es el cuello de botella.
4.5.1 Correlación del Monitor de Actividad con Problemas de la Aplicación
Para investigar la lentitud de la aplicación:
- Anote la hora exacta en que los usuarios informan de los problemas y las aplicaciones afectadas.
- Abre el Monitor de Actividad y comprueba el Resumen panel para picos de recursos en ese momento.
- En el cuadro de diálogo Procesos panel, filtrar por Aplicación para mostrar solo las conexiones de la aplicación afectada.
- Busque lo alto Tiempo de espera valores, que indican retrasos en la base de datos.
- Asegúrate de leer Consultas costosas recientes Panel para consultas de esa aplicación que consume recursos significativos.
Si la base de datos no muestra ninguna actividad inusual mientras los usuarios experimentan lentitud, es probable que el problema resida en el código de la aplicación, la latencia de la red o el rendimiento del lado del cliente.
4.5.2 Identificación de patrones de aplicación ineficientes
El Monitor de Actividad revela varios antipatrones en el diseño de aplicaciones:
- Aplicaciones conversadoras: Muchas consultas pequeñas en lugar de menos consultas más eficientes. Se identifica por un alto número de conexiones y numerosas consultas simples en la lista de Consultas Costosas Recientes.
- Consultas N+1: Una consulta seguida de N consultas adicionales para obtener datos relacionados. Se muestra como una consulta simple con una cantidad extremadamente alta de ejecuciones por minuto.
- Conjuntos de resultados grandes: Aplicaciones que recuperan muchos más datos de los necesarios. Busque alta Lecturas lógicas combinado con consultas SELECT * simples.
- Tiempos de espera faltantes: Las aplicaciones que no establecen tiempos de espera para los comandos pueden dejar conexiones abiertas indefinidamente, visibles como sesiones de larga duración en el panel Procesos.
5. Métodos alternativos: Obtención de datos del Monitor de Actividad mediante T-SQL
Si bien el Monitor de Actividad proporciona una interfaz gráfica práctica, a veces es necesario recuperar información equivalente mediante programación o crear soluciones de monitoreo personalizadas.
5.1 Uso de vistas de gestión dinámica (DMV)
SQL Server Expone información de actividad a través de vistas de gestión dinámicas, que el Monitor de Actividad consulta en segundo plano.
5.1.1 Variables clave de gestión de la actividad
El most Las DMV importantes para replicar la funcionalidad del Monitor de Actividad incluyen:
- solicitudes sys.dm_exec: Muestra las solicitudes que se están ejecutando actualmente con información sobre CPU, E/S y tiempos de espera.
- sesiones sys.dm_exec: Contiene información a nivel de sesión como el nombre de inicio de sesión, host nombre y nombre del programa.
- estadísticas de espera del sistema dm_os: Proporciona estadísticas de espera acumulativas para toda la instancia.
- estadísticas de consulta sys.dm_exec: Contiene estadísticas de rendimiento agregadas para las consultas almacenadas en caché.
- sys.dm_io_virtual_file_stats: Devuelve estadísticas de E/S para archivos de datos y de registro.
- sys.dm_exec_sql_text: Recupera el texto SQL para un sql_handle o plan_handle determinado.
- sys.dm_exec_query_plan: Devuelve el plan de ejecución para una consulta almacenada en caché.
5.1.2 Ejemplos de consultas para información de procesos
Para replicar la funcionalidad del panel Procesos, puede realizar la siguiente consulta:
SELECT
s.session_id AS [Session ID],
CASE WHEN s.is_user_process = 1 THEN 'Yes' ELSE 'No' END AS [User Process],
s.login_name AS [Login],
ISNULL(CAST(r.blocking_session_id AS VARCHAR), '') AS [Blocked By],
CASE
WHEN r2.session_id IS NOT NULL
AND (r.blocking_session_id = 0 OR r.session_id IS NULL)
THEN '1'
ELSE ''
END AS [Head Blocker],
ISNULL(DB_NAME(r.database_id), '') AS [Database],
ISNULL(t.task_state, '') AS [Task State],
ISNULL(r.command, '') AS [Command],
r.cpu_time AS [CPU Time],
r.total_elapsed_time AS [Elapsed Time],
r.wait_time AS [Wait Time],
r.wait_type AS [Wait Type],
s.memory_usage * 8 AS [Memory Use (KB)],
s.host_name AS [Host Name],
s.program_name AS [Application]
FROM sys.dm_exec_sessions s
LEFT JOIN sys.dm_exec_requests r ON s.session_id = r.session_id
LEFT JOIN sys.dm_exec_requests r2 ON r.session_id = r2.blocking_session_id
LEFT JOIN sys.dm_os_tasks t ON r.session_id = t.session_id
WHERE s.session_id != @@SPID
ORDER BY s.session_id;
5.1.3 Ejemplos de consultas para estadísticas de espera
Para ver estadísticas de espera similares al panel de Esperas de recursos:
SELECT TOP 10
wait_type AS [Wait Type],
wait_time_ms / 1000.0 AS [Wait Time (sec)],
waiting_tasks_count AS [Waiting Tasks],
wait_time_ms / NULLIF(waiting_tasks_count, 0) AS [Avg Wait Time (ms)]
FROM sys.dm_os_wait_stats
WHERE wait_type NOT LIKE '%SLEEP%'
AND wait_type NOT LIKE '%IDLE%'
AND wait_type NOT LIKE '%QUEUE%'
ORDER BY wait_time_ms DESC;
5.2 Uso de sp_WhoIsActive
sp_WhoIsActive es un potente procedimiento almacenado creado por la comunidad que proporciona información más detallada que el Monitor de Actividad en un único conjunto de resultados.
5.2.1 Instalación de sp_WhoIsActive
Para instalar sp_WhoIsActive:
- Descargue la última versión de
http://whoisactive.com. - La descarga es un script SQL que contiene la definición del procedimiento.
- Abre el script en SQL Server Estudio de gestión.
- Conéctate a tu SQL Server ejemplo.
- Ejecute el script para crear el procedimiento en la base de datos maestra.
- Otorgar permisos de ejecución a los usuarios correspondientes.
Dado que sp_WhoIsActive está instalado en master, es accesible desde cualquier contexto de base de datos.
5.2.2 Ejemplos básicos de uso
La forma más sencilla de usar sp_WhoIsActive es:
EXEC sp_WhoIsActive;
Esto devuelve un conjunto de resultados que muestra todas las sesiones activas con sus consultas, tipos de espera, información de bloqueo y uso de recursos.
Para una muestra de 10 segundos que muestre la actividad durante ese período:
EXEC sp_WhoIsActive @delta_interval = 10;
Esto calcula las variaciones de métricas como CPU y lecturas, mostrando lo que sucedió durante esos 10 segundos.
5.2.3 Parámetros avanzados
sp_WhoIsActive admite numerosos parámetros para su personalización:
- @filtrar: Filtra los resultados por sesiones, bases de datos o inicios de sesión específicos.
- @filter_type: Especifique a qué se aplica el filtro (sesión, base de datos, inicio de sesión, etc.).
- @get_plans: Incluir planes de ejecución en los resultados (establecer en 1).
- @get_locks: Mostrar información detallada del bloqueo (establecer en 1).
- @get_transaction_info: Mostrar detalles de la transacción (establecido en 1).
- @sort_order: Ordene los resultados según diferentes métricas (CPU, lecturas, duración, etc.).
- @tabla_de_destino: Inserte los resultados en una tabla para el seguimiento histórico.
Ejemplo que muestra los planes ordenados por CPU:
EXEC sp_WhoIsActive
@get_plans = 1,
@sort_order = '[CPU] DESC';
5.3 Uso de procedimientos almacenados del sistema
SQL Server Incluye procedimientos almacenados tradicionales para el monitoreo de la actividad, aunque proporcionan menos información que los DMV o el Monitor de Actividad.
5.3.1 sp_who y sp_who2
El procedimiento sp_who muestra información básica de la sesión:
EXEC sp_who;
El procedimiento sp_who2 proporciona un poco más de detalles:
EXEC sp_who2;
Ambos procedimientos muestran los ID de sesión, los nombres de inicio de sesión, el tiempo de CPU y la información de bloqueo. Sin embargo, carecen del nivel de detalle que ofrecen las DMV o el Monitor de Actividad.ost Útil para comprobaciones rápidas cuando se necesita información mínima con rapidez.
5.3.2 Otros procedimientos útiles del sistema
Los procedimientos adicionales del sistema para el monitoreo incluyen:
- bloqueo_sp: Muestra información de bloqueo (obsoleto; utilice sys.dm_tran_locks en su lugar).
- sp_monitor: Muestra estadísticas sobre SQL Server actividad.
- sp_help: Muestra las definiciones de los objetos y los metadatos.
- DBCC SQLPERF: Muestra el uso del espacio del registro de transacciones y las estadísticas de espera.
5.4 Creación de scripts de monitorización personalizados
Para entornos que requieren una supervisión específica más allá de la que proporciona el Monitor de Actividad, puede crear soluciones personalizadas utilizando DMV.
5.4.1 Script equivalente completo del Monitor de Actividad
Aquí tienes un script completo que replica most Funcionalidad del monitor de actividad:
-- Processes Information
SELECT
s.session_id AS [Session ID],
CONVERT(CHAR(1), s.is_user_process) AS [User Process],
s.login_name AS [Login],
ISNULL(CONVERT(VARCHAR, w.blocking_session_id), '') AS [Blocked By],
CASE
WHEN r2.session_id IS NOT NULL
AND (r.blocking_session_id = 0 OR r.session_id IS NULL)
THEN '1'
ELSE ''
END AS [Head Blocker],
ISNULL(DB_NAME(r.database_id), N'') AS [Database],
ISNULL(t.task_state, N'') AS [Task State],
ISNULL(r.command, N'') AS [Command],
SUBSTRING(st.text, (r.statement_start_offset/2) + 1,
((CASE r.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE r.statement_end_offset
END - r.statement_start_offset) / 2) + 1) AS [Statement],
st.text AS [Command Text],
r.cpu_time AS [CPU Time (ms)],
r.total_elapsed_time / 1000 AS [Elapsed Time (sec)],
r.wait_time AS [Wait Time (ms)],
r.wait_type AS [Wait Type],
r.wait_resource AS [Wait Resource],
s.memory_usage * 8 AS [Memory Use (KB)],
s.host_name AS [Host Name],
c.client_net_address AS [Net Address],
s.program_name AS [Application]
FROM sys.dm_exec_sessions s
LEFT JOIN sys.dm_exec_requests r ON s.session_id = r.session_id
LEFT JOIN sys.dm_exec_requests w ON r.session_id = w.blocking_session_id
LEFT JOIN sys.dm_exec_requests r2 ON r.session_id = r2.blocking_session_id
LEFT JOIN sys.dm_os_tasks t ON r.session_id = t.session_id
AND r.request_id = t.request_id
LEFT JOIN sys.dm_exec_connections c ON s.session_id = c.session_id
OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) st
WHERE s.session_id != @@SPID
ORDER BY s.session_id;
-- Recent Expensive Queries
SELECT TOP 20
qs.execution_count /
DATEDIFF(MINUTE, qs.creation_time, GETDATE()) AS [Executions/min],
qs.total_worker_time / 1000 AS [CPU Time (ms)],
qs.total_physical_reads AS [Physical Reads],
qs.total_logical_writes AS [Logical Writes],
qs.total_logical_reads AS [Logical Reads],
qs.total_elapsed_time / qs.execution_count / 1000 AS [Avg Duration (ms)],
SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset) / 2) + 1) AS [Query Text]
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
WHERE qs.execution_count > 0
ORDER BY qs.total_worker_time DESC;
5.4.2 Automatización de la supervisión con trabajos del Agente SQL
Puedes programar scripts de monitorización personalizados usando SQL Server Agente:
- Crea una tabla para almacenar los resultados del monitoreo.
- Modifica tu script de monitorización para insertar los resultados en esta tabla.
- In SQL Server Estudio de gestión, expandir SQL Server Agente en el Explorador de objetos.
- Haga clic con el botón Ofertas de empleo y seleccione Nuevo trabajo.
- Configure la tarea para que ejecute su script de monitoreo a intervalos regulares.
- Configura alertas o informes basados en los datos recopilados.
Este enfoque permite el seguimiento histórico y el análisis de tendencias que el Monitor de Actividad no proporciona.
6. Limitaciones y consideraciones del monitor de actividad
Si bien el Monitor de Actividad es valioso, comprender sus limitaciones le ayudará a usarlo adecuadamente y a complementarlo con otras herramientas cuando sea necesario.
6.1 Comprensión de la sobrecarga del Monitor de Actividad
El Monitor de Actividad no es gratuito: consume recursos del servidor para recopilar y mostrar información. Comprender este consumo de recursos te ayudará a usarlo de forma responsable.
6.1.1 Impacto en los recursos del servidor
El Monitor de Actividad ejecuta consultas en las DMV del sistema cada vez que se actualiza. Estas consultas consumen CPU, generan lecturas lógicas y pueden bloquear brevemente las tablas del sistema. En servidores con mucha carga, esta sobrecarga puede afectar al rendimiento.
Los paneles Procesos y Consultas recientes costosas son especialmente exigentes en cuanto a recursos, ya que deben analizar tablas de administración dinámica (DMV) potencialmente grandes y almacenar en caché las tablas. En servidores con miles de planes de consulta en caché, la actualización de Consultas recientes costosas puede tardar varios segundos.
La documentación de Microsoft advierte que los intervalos de actualización inferiores a 10 segundos pueden afectar notablemente al rendimiento del servidor, especialmente en sistemas ya sobrecargados.
6.1.2 Mejores prácticas para el intervalo de actualización
Elija los intervalos de actualización adecuados para su situación:
- 1-5 segundos: Únicamente para la resolución inmediata de problemas críticos en servidores con poca carga. No deje el Monitor de Actividad ejecutándose a estos intervalos.
- 10 segundos (predeterminado): Razonable para most Resolución de problemas y monitorización general.
- 30-60 segundos: Mejor opción para servidores de producción bajo carga pesada o cuando se monitorean durante períodos prolongados.
- Actualización manual únicamente: Para situaciones en las que se desea comprobar el estado actual ocasionalmente sin realizar sondeos continuos.
Cierra siempre el Monitor de Actividad cuando termines de investigar. No lo dejes abierto continuamente, especialmente si hay varias instancias de diferentes usuarios.
6.2 Problemas de agrupación de tipos de espera
El enfoque del Monitor de Actividad para categorizar las esperas, si bien simplifica la vista, puede ocultar diagnósticos importantes.ostInformación ic.
6.2.1 Cómo el Monitor de Actividad agrupa las esperas
SQL Server El Monitor de Actividad realiza un seguimiento de cientos de tipos de espera distintos, cada uno de los cuales indica un recurso o condición específica. El Monitor de Actividad los agrupa en categorías generales como "Bloqueo de búfer", "Bloqueo" y "Memoria".
Por ejemplo, la categoría «Buffer Lotch» incluye PAGELATCH_SH, PAGELATCH_UP, PAGELATCH_EX y otros tipos de espera específicos. Si bien todos están relacionados con el acceso a páginas, tienen causas y soluciones diferentes.
Microsoft no documenta con exactitud qué tipos de espera se corresponden con qué categorías, lo que dificulta comprender lo que realmente se está viendo.
6.2.2 Tipos de espera faltantes
El Monitor de Actividad no muestra todos los tipos de espera. Most Cabe destacar que a menudo omite las esperas CXPACKET, que indican la ejecución de consultas en paralelo. Las esperas CXPACKET son comunes y generalmente no representan un problema, pero saber que están presentes ayuda a comprender las características de la carga de trabajo.
Cuando el Monitor de Actividad muestra “Buffer Latch” como la principal espera, pero otras herramientas muestran que CXPACKET domina, la discrepancia proviene de la lógica de filtrado y agrupación del Monitor de Actividad.
6.2.3 Por qué importan los tipos de espera específicos
Conocer el tipo de espera específico es importante para la resolución de problemas:
- PAGELATCH_EX: Suele indicar contención de tempdb en las páginas de asignación. La solución consiste en añadir más archivos de datos de tempdb.
- PAGELATCH_SH: Podría indicar páginas muy consultadas en las tablas de usuario. La solución implica la partición o la reorganización del índice.
- PAGELATCH_UP: Es común durante las actualizaciones. Puede indicar un funcionamiento normal en lugar de un problema.
El Monitor de Actividad agrupa todos estos eventos bajo la categoría "Bloqueo de búfer", lo que dificulta el diagnóstico. Herramientas como sp_WhoIsActive y las consultas DMV muestran tipos de espera específicos.
6.3 Precisión y puntualidad de los datos
El Monitor de Actividad ofrece una visualización casi en tiempo real, pero «casi» es la palabra clave. Comprender su método de recopilación de datos le ayudará a interpretar correctamente los resultados.
6.3.1 Instantánea frente a monitorización continua
El Monitor de Actividad muestra instantáneas puntuales tomadas en cada intervalo de actualización. Los eventos que ocurren entre instantáneas no se capturan. Si una consulta se ejecuta durante 2 segundos y la actualización se realiza cada 10 segundos, es posible que la vea una vez o ninguna, dependiendo del momento.
Esto significa que el Monitor de Actividad sobresale en la detección de problemas persistentes (bloqueos que duran minutos, uso de CPU consistentemente alto), pero puede pasar por alto problemas transitorios (breves bloqueos, picos ocasionales de consultas).
6.3.2 Agregación y muestreo
El panel de Consultas Costosas Recientes muestra datos agregados desde que los planes de consulta entraron en la caché. Dos consultas idénticas con diferentes valores de parámetros aparecen como una sola fila si comparten un plan. Esta agregación puede ocultar problemas con combinaciones de parámetros específicas (problemas de detección de parámetros).
El panel Esperas de recursos calcula las tasas comparando instantáneas. Si las estadísticas de espera se restablecen entre instantáneas (rare pero posible), las tasas calculadas pueden ser incorrectas.
6.4 Cuándo NO usar el Monitor de Actividad
El Monitor de Actividad no es adecuado para todos los escenarios de monitorización. Es importante saber cuándo existen otras herramientas más convenientes.
6.4.1 Requisitos de análisis histórico
El Monitor de Actividad solo muestra la actividad actual o reciente. No almacena datos históricos. Si necesitas analizar tendencias a lo largo de días o semanas, comparar el rendimiento actual con los valores de referencia o generar informes sobre patrones de rendimiento, el Monitor de Actividad no es suficiente.
Para el análisis histórico, utilice SQL ServerPanel de rendimiento integrado, Eventos extendidos con archivo tarobtiene, o soluciones de monitoreo de terceros.
6.4.2 Necesidades de estadísticas de espera detalladas
Cuando se necesita información precisa sobre el tipo de espera para una optimización avanzada, la agrupación y el filtrado del Monitor de Actividad resultan insuficientes. En su lugar, utilice directamente las consultas DMV o sp_WhoIsActive.
Para un análisis completo de las estadísticas de espera, consulte directamente sys.dm_os_wait_stats y filtre manualmente las esperas benignas.
6.4.3 Consideraciones sobre el servidor de producción
En servidores de producción con alta carga, la sobrecarga del Monitor de Actividad puede resultar problemática. No se recomienda que varios administradores de bases de datos ejecuten el Monitor de Actividad simultáneamente en el mismo servidor.
Para la monitorización de la producción, considere alternativas ligeras como instantáneas DMV programadas almacenadas en una base de datos de monitorización, o utilice el enrutamiento de solo lectura para monitorizar réplicas secundarias en configuraciones Always On.
7. Mejores prácticas para usar el monitor de actividad
Seguir las mejores prácticas garantiza que obtenga el máximo valor de Activity Monitor al tiempo que minimiza los impactos negativos en sus servidores.
7.1 Cuándo usar el Monitor de Actividad
El Monitor de Actividad destaca en situaciones específicas. Úsalo cuando sus puntos fuertes se ajusten a tus necesidades.
7.1.1 Problemas de rendimiento en tiempo real
El Monitor de Actividad es ideal cuando los usuarios están experimentando problemas y necesitas diagnosticar la incidencia de inmediato. La vista en tiempo real te permite ver lo que está sucediendo ahora mismo.
Cuando recibas una llamada indicando que "la aplicación está lenta", abrir el Monitor de Actividad debería ser uno de tus primeros pasos. Así podrás determinar rápidamente si la base de datos está ocupada, bloqueada o inactiva.
7.1.2 Investigación de la ralentización de la aplicación
Cuando una aplicación deja de responder, el Monitor de Actividad te ayuda a determinar si la causa son problemas de base de datos. Filtra el panel Procesos por nombre de aplicación para ver solo la actividad de base de datos de esa aplicación.
Si la aplicación no muestra actividad en la base de datos mientras los usuarios reportan problemas, el problema reside en otra parte de la pila de llamadas. Si observa bloqueos extensos o consultas costosas, habrá encontrado la causa.
7.1.3 Comprobaciones rápidas de salud
El Monitor de Actividad ofrece un panel de control excelente para realizar comprobaciones rápidas del estado durante la administración rutinaria. Ábrelo, echa un vistazo a los gráficos de resumen y verifica que todo parezca normal.
Esta comprobación rápida solo lleva unos segundos y puede revelar problemas antes de que se agraven. Incorpórala a tu rutina diaria.
7.2 Configuración óptima
Configurar adecuadamente el Monitor de Actividad mejora tanto su utilidad como su consumo de recursos.
7.2.1 Intervalos de actualización recomendados
Ajusta el intervalo de actualización a tu propósito:
- Solución de problemas activa: Diez segundos proporcionan una buena capacidad de respuesta con una sobrecarga razonable.
- Monitoreo extendido: 30-60 segundos reducen el impacto en el servidor durante períodos de observación más largos.
- Diagnóstico del problema crítico: Cinco segundos ofrecen una granularidad alta cuando cada segundo cuenta, pero úselo brevemente.
- Controles de salud periódicos: Actualización manual (intervalo de 1 hora) cuando no estés viendo el contenido activamente.
Recuerda cerrar el Monitor de Actividad cuando termines. Si lo configuras con un intervalo largo y te olvidas de él, se desperdician recursos del servidor.
7.2.2 Estrategias de filtrado
Utilice filtros para centrarse en la información relevante y reducir la carga cognitiva:
- Filtrar procesos por Database para ver únicamente la actividad relacionada con bases de datos específicas.
- Filtrar por Iniciar sesión para realizar un seguimiento de la actividad de un usuario específico.
- Filtrar por Estado de la tarea = EJECUTANDO para ocultar las sesiones inactivas.
- Filtrar por Aplicación para aislar el tráfico de programas específicos.
- Mostrar solo valores no vacíos en Bloqueado por para ver únicamente situaciones de bloqueo.
7.2.3 Selección y ordenación de columnas
Desarrollar un enfoque sistemático para revisar los datos del monitor de actividad:
- Start con Resumen: Comprueba los gráficos en busca de picos o anomalías evidentes.
- Comprobar procesos en busca de bloqueos: Ordene por ID de sesión y luego busque los valores de Bloqueado por.
- Tiempo de espera para revisar los recursos: Ordene por tiempo de espera acumulado para identificar cuellos de botella de recursos.
- Analizar consultas costosas: Ordene por diferentes métricas (CPU, ejecuciones, lecturas) para encontrar diferentes tipos de problemas.
- Verifique con el panel de E/S: Confirme si las consultas con uso intensivo de E/S se correlacionan con una alta actividad del disco.
7.3 Integración con otras herramientas
El Monitor de Actividad funciona mejor como parte de un conjunto de herramientas más amplio que como una solución independiente.
7.3.1 Uso con SQL Server Profiler
Monitor de actividad y SQL Server Los perfiles se complementan bien entre sí. Cuando identifique una sesión problemática en el Monitor de Actividad, haga clic con el botón derecho en ella y seleccione Proceso de seguimiento en SQL Server Profiler.
Esto inicia el Generador de perfiles con filtros ya configurados para capturar únicamente la actividad de esa sesión. Se puede ver la secuencia completa de instrucciones ejecutadas, información de tiempo y mensajes de error; detalles que el Monitor de actividad no proporciona.
Para aprender más sobre la SQL Server Para conocer las capacidades de perfilado y las técnicas de rastreo avanzadas, consulte nuestro exhaustivo SQL Server Guía del perfilador.
7.3.2 Complementación con eventos extendidos
Los eventos extendidos ofrecen una monitorización detallada y con bajo coste que captura información que el Monitor de Actividad no registra. Cree sesiones de eventos extendidos para realizar un seguimiento de eventos específicos como interbloqueos, consultas de larga duración o recompilaciones excesivas.
Utilice el Monitor de Actividad para la investigación inmediata y Eventos Extendidos para el monitoreo continuo y el análisis histórico. Ambas herramientas satisfacen necesidades diferentes.
Para aprender más sobre la SQL Server Para conocer las capacidades de eventos ampliados y las técnicas de monitoreo avanzadas, consulte nuestra sección de [enlace/recurso]. exhaustivo SQL Server Guía de eventos extendidos.
7.3.3 Soluciones de monitoreo de terceros
Las herramientas comerciales como SolarWinds Database Performance Analyzer, Redgate SQL Monitor y Quest Spotlight ofrecen funciones de las que carece Activity Monitor: alertas, tendencias históricas, planificación de capacidad y diagnóstico automatizado.ostcircuitos integrados
Estas herramientas complementan valiosamente el Monitor de Actividad, pero no lo reemplazan. El Monitor de Actividad sigue siendo útil para comprobaciones rápidas e investigaciones, incluso cuando se dispone de herramientas de monitorización más sofisticadas.
7.4 Errores comunes a evitar
Comprender los errores comunes del Monitor de Actividad te ayudará a usarlo de manera más eficaz.
7.4.1 Dejar el Monitor de Actividad en ejecución continua
El most Un error común es abrir el Monitor de Actividad y dejarlo abierto indefinidamente. Esto desperdicia recursos del servidor y aporta poco valor, ya que no se está supervisando activamente.
Cierra el Monitor de Actividad cuando no lo estés usando. Si necesitas una monitorización continua, implementa una solución de monitorización adecuada con recopilación de datos programada.
7.4.2 Confiar excesivamente solo en el monitor de actividad
El Monitor de Actividad ofrece una perspectiva del estado del servidor. No confíe exclusivamente en él. Complemente su análisis con el Monitor de rendimiento de Windows para obtener métricas a nivel de sistema operativo, Eventos extendidos para un seguimiento detallado y análisis del plan de ejecución para la optimización de consultas.
El Monitor de Actividad te ayuda a identificar problemas, pero resolverlos a menudo requiere herramientas adicionales y un análisis más profundo.
Obtenga más información sobre SQL Server monitor de rendimiento en nuestro guía completa.
7.4.3 Ignorar las tendencias históricas
El Monitor de Actividad muestra el estado actual, pero los problemas de rendimiento suelen presentar patrones que solo se hacen visibles con el tiempo. Implemente la recopilación de datos históricos para poder comparar las métricas actuales con los valores de referencia e identificar tendencias.
Sin contexto histórico, es posible que no se reconozca que el uso “normal” de la CPU hoy en día es un 30% superior al nivel de referencia del mes pasado, lo que indica una degradación gradual.
8. Solución de problemas del Monitor de Actividad
El propio Monitor de Actividad a veces presenta problemas. Saber cómo solucionarlos evita frustraciones.
8.1 El Monitor de Actividad no se abre o no muestra datos.
Si el Monitor de Actividad se abre pero muestra paneles en blanco o no se abre en absoluto, pueden deberse a varios factores.
8.1.1 Cuestiones de permisos
El most Una causa común de problemas en el Monitor de Actividad es la falta de permisos. Para verificar y resolver:
- Comprueba los permisos a nivel de servidor:
SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name = 'VIEW SERVER STATE'; - Si no se devuelve ninguna fila, no dispone del permiso VIEW SERVER STATE.
- Solicita a un administrador del servidor que lo conceda:
USE master; GRANT VIEW SERVER STATE TO [YourLogin]; - Cierra y vuelve a abrir el Monitor de Actividad una vez concedidos los permisos.
8.1.2 Problemas de compatibilidad de versiones
Utilizando una versión antigua de SQL Server Management Studio para conectarse a una versión más reciente SQL Server Esta versión puede provocar fallos en el Monitor de Actividad. Es posible que la herramienta no reconozca los nuevos tipos de espera ni las columnas de la vista del sistema.
Utilice siempre la versión de SSMS que coincida o sea más reciente que la suya. SQL Server Microsoft ofrece la última versión de SSMS como descarga gratuita independiente de la versión. SQL Server misma.
8.1.3 Problemas de firewall y red
El Monitor de Actividad requiere conectividad a SQL Server La instancia se ejecuta en los puertos estándar (1433 por defecto). Si puede conectarse mediante el Explorador de objetos, pero falla el Monitor de Actividad, es posible que las reglas del firewall estén bloqueando ciertas conexiones.
Verifique que su cliente pueda comunicarse con SQL Server Conecta la máquina a todos los puertos necesarios. Comprueba tanto el Firewall de Windows como cualquier firewall de red entre tu cliente y el servidor.
8.2 El monitor de actividad se encuentra en pausa permanente.
Un problema común, particularmente en SQL Server En 2019, el Monitor de Actividad se abre en estado de pausa y se niega a reanudarse.
8.2.1 Comprensión del estado de pausa
Cuando el Monitor de Actividad se pausa, todos los paneles muestran el estado "En pausa" con un botón de reanudación que puede no funcionar. Esto impide ver la actividad del servidor.
El estado de pausa suele producirse debido a problemas de permisos, restricciones de conexión remota o errores en la versión de SSMS, más que a una acción de pausa intencionada.
8.2.2 Causas comunes
El Monitor de Actividad puede entrar en estado de pausa permanente debido a:
- Falta el permiso VIEW SERVER STATE en los paneles más recientes añadidos recientemente. SQL Server versiones
- Conexiones remotas deshabilitadas en el SQL Server ejemplo
- Fallos de autenticación para consultas específicas del sistema
- Errores en compilaciones específicas de SSMS, particularmente de la 18.0 a la 18.3.
- Problemas de conectividad entre cliente y servidor
8.2.3 Pasos para la resolución
Para resolver los problemas de estado de pausa del Monitor de Actividad:
- Actualizar SSMS: Descargue e instale la última SQL Server Versión de Management Studio del sitio web de Microsoft. Muchos errores relacionados con el estado de pausa se corrigieron en versiones posteriores.
- Verificar permisos: Asegúrese de tener los permisos VIEW SERVER STATE y VIEW ANY DEFINITION.
- Comprobar conexiones remotas: Verifique que la SQL Server Esta instancia permite conexiones remotas:
EXEC sp_configure 'remote access';Si el valor es 0, pídale a un administrador que lo habilite.
- Restart SSMS: A veces, simplemente cerrar todas las ventanas y restarting SQL Server Management Studio resuelve el problema.
- Conéctese con la autenticación de Windows: Si utiliza la autenticación SQL, pruebe con la autenticación de Windows, ya que a veces evita los problemas de pausa relacionados con la autenticación.
8.3 Problemas de rendimiento al usar el Monitor de Actividad
Si el propio Monitor de Actividad se vuelve lento o provoca una degradación del rendimiento del servidor, es necesario realizar ajustes.
8.3.1 Reducción de los gastos generales de monitorización
Para minimizar el impacto del Monitor de Actividad:
- Aumente el intervalo de actualización a 30 segundos o 1 minuto.
- Cierra los paneles que no estés utilizando activamente haciendo clic en el botón de contraer.
- Cuando los paneles están contraídos, el Monitor de Actividad no consulta los datos correspondientes.
- Evite ejecutar varias instancias del Monitor de Actividad simultáneamente.
- Cierre completamente el Monitor de Actividad cuando no esté investigando problemas activamente.
8.3.2 Métodos alternativos de monitorización ligera
Si el Monitor de Actividad consume demasiados recursos para su entorno, considere alternativas:
- Consultar directamente las DMV: Escriba consultas T-SQL específicas que recuperen únicamente la información que necesita.
- Utilice sp_WhoIsActive: Este procedimiento almacenado está altamente optimizado y normalmente tiene una sobrecarga menor que el Monitor de Actividad.
- Implementar el muestreo: Programe trabajos del Agente SQL que capturen instantáneas de los datos del DMV a intervalos regulares, almacenando los resultados en tablas para su posterior análisis.
- Supervisar réplicas secundarias: In Grupos de disponibilidad Always On, ejecute el Monitor de actividad en un dispositivo secundario legible en lugar del principal.
8.4 Información inexacta o faltante
A veces, el Monitor de Actividad muestra información que parece incorrecta o incompleta.
8.4.1 Verificación de datos con los DMV
Cuando los resultados del Monitor de Actividad parezcan sospechosos, verifíquelos consultando directamente las DMV subyacentes. Por ejemplo, si el panel Procesos no muestra ningún bloqueo, pero los usuarios lo reportan, consulte:
SELECT
blocking_session_id,
session_id,
wait_type,
wait_time,
wait_resource
FROM sys.dm_exec_requests
WHERE blocking_session_id != 0;
Si esta consulta muestra bloqueos que el Monitor de Actividad no detectó, ha confirmado un problema de visualización.
8.4.2 Comprensión de la sincronización de la actualización de datos
Recuerda que el Monitor de Actividad muestra instantáneas. Una consulta ejecutada entre intervalos de actualización no aparecerá en Consultas recientes costosas a menos que su plan de ejecución permanezca en la caché.
De igual forma, las estadísticas de espera en el panel de Esperas de recursos reflejan la acumulación desde la última instantánea. Las cargas de trabajo que cambian rápidamente pueden mostrar patrones diferentes en cada actualización.
9. Técnicas avanzadas de monitorización de la actividad
Los administradores de bases de datos experimentados utilizan el Monitor de Actividad de forma sofisticada para extraer el máximo diagnóstico.ostValor IC.
9.1 Combinación de múltiples paneles para el análisis de la causa raíz
El verdadero poder del Monitor de Actividad surge al correlacionar información de múltiples paneles para comprender problemas de rendimiento complejos.
9.1.1 Correlación de esperas con procesos
Cuando el panel Esperas de recursos muestre tiempos de espera elevados en una categoría, utilice el panel Procesos para identificar qué sesiones están experimentando esas esperas:
- Tenga en cuenta la categoría de espera con un tiempo de espera acumulado elevado (por ejemplo, “Bloqueo”).
- Cambia al panel Procesos.
- Ordenar por Tipo de espera para agrupar las sesiones según su tiempo de espera actual.
- Busque sesiones que muestren tipos de espera en la categoría problemática.
- Para esas sesiones, examine el Espera de recursos columna para ver qué objetos de base de datos están involucrados.
- Haga clic derecho y seleccione Detalles para ver el texto de la consulta.
Esta correlación te ayuda a pasar de “tenemos esperas de bloqueo” a “esta consulta específica está esperando bloqueos en esta tabla”.
9.1.2 Vinculación de consultas costosas con problemas de E/S
Cuando el panel de E/S de archivos de datos muestra una alta actividad de disco en una base de datos específica:
- Observe qué archivos de la base de datos tienen altas tasas de lectura o escritura en MB/s.
- Cambiar a Consultas recientes de alto coste.
- Ordenar por Lecturas físicas/seg para identificar consultas que leen mucho del disco.
- Filtrar o identificar visualmente las consultas que se ejecutan en la base de datos con un alto nivel de E/S.
- Examine los planes de ejecución de esas consultas para detectar escaneos de tablas o índices faltantes que causen una E/S excesiva.
Este análisis multipanel conecta los síntomas (alta E/S de disco) con las causas (consultas ineficientes específicas).
9.2 Uso del monitor de actividad para la planificación de la capacidad
Si bien el Monitor de Actividad no almacena datos históricos, puede utilizarse estratégicamente para observaciones de planificación de capacidad.
9.2.1 Identificación de patrones de uso máximo
Supervisa la actividad del servidor en diferentes momentos del día para identificar patrones de uso:
- Abra el Monitor de Actividad durante las horas punta conocidas.
- Observe los valores máximos del gráfico de % de tiempo de procesador.
- Registre el número máximo de tareas en espera.
- Observe las solicitudes por lotes/seg en las horas pico.
- Documente las bases de datos más activas en el panel Procesos.
- Repita la prueba durante las horas de menor afluencia para comparar.
Si el tiempo de procesamiento en horas pico supera constantemente el 80%, se está alcanzando el límite de capacidad de la CPU. De igual forma, un aumento en los tiempos de espera indica una creciente contención de recursos.
9.2.2 Análisis de tendencias de recursos
Si bien el Monitor de Actividad muestra el estado actual, puede usarlo para comprobar tendencias puntuales registrando métricas clave a lo largo del tiempo:
- Toma capturas de pantalla del panel de Información general a la misma hora todos los días.
- Registre los valores máximos de cada gráfico
- Comparar semana a semana para identificar tendencias de crecimiento
- Esté atento a los aumentos graduales en el tiempo promedio de procesamiento o en las tasas de E/S.
Este análisis manual de tendencias complementa soluciones de monitorización más sofisticadas y ayuda a justificar la ampliación de la capacidad.
9.3 Documentación de las líneas base de rendimiento
Establecer métricas de rendimiento de referencia le ayuda a reconocer cuándo el rendimiento se degrada.
9.3.1 Captura de métricas de referencia
Durante los períodos de buen rendimiento conocido, documente las métricas del Monitor de Actividad:
- Abra el Monitor de Actividad durante las operaciones comerciales normales (no en horas punta ni fuera de ellas).
- Valores del panel Resumen de registros:
- Rango típico de % de tiempo de procesador
- Número promedio de tareas en espera
- Tasa de E/S de base de datos normal
- Solicitudes típicas por lotes/seg
- Nota: Las categorías del panel de esperas de recursos muestran la most tiempo de espera.
- Documente el número de procesos activos, normalmente en el panel Procesos.
- Registra métricas representativas de ejecución de consultas de Consultas Costosas Recientes.
Guarde esta documentación básica para futuras consultas al investigar problemas de rendimiento.
9.3.2 Comparación del rendimiento actual con el rendimiento de referencia
Cuando surjan problemas de rendimiento, compare las lecturas actuales del Monitor de Actividad con su línea base documentada:
- ¿El tiempo de procesamiento es significativamente mayor que el valor de referencia? Concéntrese en las consultas que consumen muchos recursos de CPU.
- ¿Las tareas en espera superan entre 2 y 3 veces los niveles base? Investigue las esperas de recursos.
- ¿El uso de E/S es considerablemente mayor? Consulte el panel de E/S de archivos de datos y las consultas costosas.
- ¿El número de solicitudes por lotes es inferior al nivel base durante las horas punta? Busque problemas de bloqueo o conectividad.
Esta comparación te ayuda a identificar qué ha cambiado y a enfocar adecuadamente los esfuerzos de resolución de problemas.
9.4 Creación de flujos de trabajo de monitoreo personalizados
Desarrollar flujos de trabajo sistemáticos para escenarios de investigación comunes para garantizar un análisis exhaustivo y repetible.
9.4.1 Proceso de investigación paso a paso
Cuando los usuarios informen sobre problemas de rendimiento, siga un flujo de trabajo consistente:
- Control rápido de salud: Abre el Monitor de Actividad y examina los gráficos del panel de Información general en busca de anomalías evidentes.
- Comprobar bloqueos: Expanda el panel Procesos, filtre por No vacíos en la columna Bloqueado por.
- Identificar la contención de recursos: Revisa el panel de esperas de recursos ordenado por tiempo de espera.
- Encuentra consultas costosas: Examine las consultas recientes más costosas, ordenadas primero por CPU, luego por ejecuciones y, finalmente, por lecturas.
- Correlacionar patrones de E/S: Realice referencias cruzadas entre consultas costosas y la actividad del panel de E/S de archivos de datos.
- Hallazgos del documento: Realice capturas de pantalla y registre los ID de sesión relevantes, los tipos de espera y los detalles de la consulta.
- Bucear profundo: Utilice los seguimientos de Profiler, el análisis del plan de ejecución y las consultas DMV para una investigación detallada de los problemas identificados.
9.4.2 Criterios de escalamiento
Establecer criterios para determinar cuándo escalar los problemas frente a continuar la investigación:
- Escalar inmediatamente: Cadenas de bloqueo que duran más de 5 minutos, tiempo de procesador al 100% durante más de 2 minutos, procesos críticos del sistema en estado SUSPENDIDO.
- Ampliar con análisis: Consultas costosas recurrentes que consumen >50% de CPU, tiempos de respuesta de E/S consistentemente altos >50 ms, fallos repetidos en la concesión de memoria.
- Investigar más a fondo: Tiemporary esperas que se resuelven en minutos, consultas con planes subóptimos pero rendimiento aceptable, bloqueo menor de <30 segundos de duración.
10. Monitor de actividad en diferentes SQL Server Source-Connect
El Monitor de Actividad ha evolucionado a través de SQL Server versiones, y cada lanzamiento trae mejoras y, ocasionalmente, nuevos problemas.
10.1 Monitor de actividad en SQL Server 2008 y posterior
SQL Server En 2008 se introdujo el diseño moderno del Monitor de Actividad, que permanece prácticamente sin cambios hasta hoy.
10.1.1 Nuevas características introducidas en SQL Server 2008
El más grande de Texas bufete de abogados de bancarrota SQL Server El rediseño del Monitor de Actividad de 2008 introdujo mejoras significativas:
- Panel gráfico con gráficos en tiempo real en el panel de resumen.
- Interfaz de panel expandible/contraíble que reemplaza la antigua vista de solo cuadrícula
- Panel de Consultas Costosas Recientes que muestra datos agregados sobre el rendimiento de las consultas.
- Panel de E/S de archivos de datos para la monitorización de la actividad del disco por archivo
- Panel de esperas de recursos mejorado con categorización de esperas
- Menús contextuales (clic derecho) para acciones de proceso como finalizar sesiones e iniciar Profiler
- Intervalos de actualización configurables desde 1 segundo hasta 1 hora
Estos cambios transformaron el Monitor de Actividad, pasando de ser una simple lista de procesos a un panel de control integral.
10.1.2 Cambios desde SQL Server 2005
SQL Server El Monitor de Actividad de 2005 era mucho más limitado:
- Se accede a través de la carpeta Administración en el Explorador de objetos, en lugar de la barra de herramientas.
- Una sola cuadrícula que muestra la lista de procesos con información básica.
- Sin gráficos ni paneles múltiples.
- Sin consultas costosas ni monitorización de E/S
- Información estadística limitada sobre tiempos de espera
El rediseño de 2008 representó una reinvención completa en lugar de una mejora incremental.
10.2 Monitor de actividad en SQL Server 2014/2016
SQL Server En 2014 y 2016 se introdujeron mejoras graduales en la recopilación de datos subyacente del Monitor de Actividad, pero pocos cambios visuales.
10.2.1 Mejoras y perfeccionamientos
Las principales mejoras de estas versiones incluían:
- Mejor rendimiento al supervisar servidores con miles de planes en caché
- Capacidades de filtrado mejoradas en el panel Procesos
- Mayor precisión en la agregación de estadísticas de espera
- Mejor manejo de la ordenación y el filtrado de columnas con conjuntos de resultados grandes.
- Consultas DMV más eficientes que reducen la carga de supervisión
La interfaz principal se mantuvo consistente con SQL Server 2008, manteniendo la familiaridad para los administradores.
10.3 Monitor de actividad en SQL Server 2019/2022
Recientes SQL Server Las nuevas versiones continúan la evolución del Monitor de Actividad centrándose en el rendimiento y la estabilidad.
10.3.1 Últimas características y funcionalidades
SQL Server El Monitor de Actividad de 2019 y 2022 incluye:
- Compatibilidad con los nuevos tipos de espera introducidos en estas versiones
- Mejora del rendimiento de renderizado en SSMS mediante la tecnología WPF
- Mejor gestión de un gran número de sesiones activas
- Compatibilidad mejorada con plataformas SQL en la nube
- Métricas de CPU y E/S más precisas
10.3.2 Problemas conocidos en versiones recientes
SQL Server En 2019 se introdujeron varios errores en el Monitor de Actividad:
- Estado de pausa permanente: El Monitor de Actividad entra frecuentemente en estado de pausa y no se reanuda, particularmente en SSMS 18.0-18.3. Corregido en versiones posteriores de SSMS.
- Fallos de conexión remota: Algunas configuraciones impiden que el Monitor de Actividad se abra en instancias remotas. Las soluciones alternativas incluyen habilitar marcas de seguimiento específicas o usar versiones más recientes de SSMS.
- Problemas de permisos: Las nuevas vistas del sistema requieren permisos adicionales que no están claramente documentados, lo que provoca pantallas en blanco incluso con VIEW SERVER STATE.
Utilice siempre la última versión de SSMS cuando trabaje con SQL Server 2019 y 2022 para evitar estos problemas.
11. Casos prácticos y ejemplos
Ejemplos reales demuestran cómo aplicar el Monitor de Actividad de manera efectiva en escenarios comunes de resolución de problemas.
11.1 Estudio de caso: Diagnóstico de una aplicación web lenta
Un equipo de desarrollo informa que su aplicación web se ha vuelto inaceptablemente lenta, con tiempos de carga de página de 20 a 30 segundos en lugar de los 2 a 3 segundos habituales.
11.1.1 Investigación inicial con panel de resumen
Abre el Monitor de Actividad y examina el panel de Información general:
- El gráfico de % de tiempo de procesador muestra un uso de CPU del 85-95%, significativamente superior al nivel base normal del 30-40%.
- Las tareas de espera fluctúan entre 10 y 20 tareas, frente a una línea base normal de 0 a 3.
- La actividad de entrada/salida de la base de datos es moderada, en torno a los 50 MB/s.
- Las solicitudes por lotes/seg son inferiores a lo esperado, situándose en 100/seg, frente a las 300-400/seg habituales durante las horas laborables.
Este patrón sugiere un cuello de botella en la CPU con contención de recursos, lo que provoca una reducción del rendimiento. El servidor está trabajando intensamente, pero no procesa muchas solicitudes.
11.1.2 Identificación de la consulta problemática
Expanda el panel Consultas costosas recientes y ordene por Ejecuciones/min:
- La consulta principal muestra 15,000 ejecuciones por minuto.
- Haga clic derecho y seleccione Editar texto de consulta para examinar la consulta.
- La consulta es una simple instrucción SELECT que recupera un único registro de usuario:
SELECT * FROM Users WHERE UserId = @UserId. - Esta consulta no debería ejecutarse 15,000 veces por minuto para un uso normal de la aplicación.
Haz clic con el botón derecho en la consulta y selecciona Mostrar plan de ejecuciónEl plan muestra un escaneo de tabla en la tabla Usuarios con una advertencia sobre un índice faltante en la columna UserId.
Filtre el panel Procesos por Aplicación para mostrar solo las conexiones de la aplicación web. Varias sesiones muestran esta misma consulta ejecutándose repetidamente.
11.1.3 Resolución y verificación
El problema se debe a dos cuestiones: un número excesivo de consultas y la falta de un índice. Pasos para la resolución:
- Crea el índice que falta:
CREATE NONCLUSTERED INDEX IX_Users_UserId ON Users (UserId); - Contacta con el equipo de desarrollo En relación con las ejecuciones excesivas, la investigación revela un problema de consulta N+1 en el código de la aplicación, donde un bucle recupera los detalles del usuario para cada elemento de una lista.
- Modificar la aplicación para agrupar las búsquedas de usuarios en una sola consulta utilizando una cláusula IN o un parámetro con valores de tabla.
- Verifique la corrección Tras la implementación, se monitoriza el Monitor de Actividad. El uso de la CPU baja al 35-40%, las ejecuciones por minuto disminuyen a 200-300 y los tiempos de respuesta de la aplicación vuelven a la normalidad.
11.2 Estudio de caso: Resolución de un problema de bloqueo
Los usuarios informan que el sistema de entrada de pedidos se congela periódicamente durante 30-60 segundos antes de reanudar su funcionamiento normal.
11.2.1 Detección de la cadena de bloqueo
Abra el Monitor de Actividad durante uno de estos eventos de congelación y expanda el panel Procesos:
- Ordenar por ID de sesión para ver todas las sesiones organizadas.
- Varias sesiones muestran valores en el Bloqueado por columna, todas apuntando a la ID de sesión 73.
- La sesión 73 muestra '1' en el Bloqueador de cabezas columna, confirmando que es la causa raíz.
- El más grande de Texas bufete de abogados de bancarrota Tipo de espera Para las sesiones bloqueadas se muestra LCK_M_X, lo que indica que están esperando bloqueos exclusivos.
- El más grande de Texas bufete de abogados de bancarrota Espera de recursos La columna revela que el bloqueo se encuentra en la tabla de Órdenes.
11.2.2 Análisis de la causa
Haz clic con el botón derecho en Sesión 73 y selecciona Detalles Para ver el comando:
UPDATE Orders
SET Status = 'Processing',
LastModified = GETDATE()
WHERE OrderId IN (SELECT OrderId FROM #TempOrders);
Esta actualización forma parte de un proceso por lotes que se ejecuta cada hora. Comprobando el Iniciar sesión La columna confirma que la sesión pertenece a la cuenta del servicio de procesamiento por lotes.
La consulta mantiene bloqueados los datos de la tabla Pedidos mientras procesa miles de pedidos. Tiempo de espera El número de sesiones bloqueadas aumenta constantemente, lo que confirma que esta operación de larga duración es el problema.
11.2.3 Implementación de la solución
Resolución a corto plazo:
- Documente los detalles de la sesión 73, incluyendo el texto de la consulta y la duración.
- Permita que la actualización se complete de forma natural, ya que se trata de un procesamiento por lotes legítimo.
- Una vez finalizado el proceso, verifique que las sesiones bloqueadas se hayan liberado y que se reanuden las operaciones normales.
Soluciones a largo plazo implementadas:
- Reprogramar el trabajo por lotes para funcionar durante las horas de menor actividad (de 2 a 4 de la madrugada en lugar de durante el horario comercial).
- Modificar el procesamiento por lotes para actualizar los pedidos en lotes más pequeños de 100 registros a la vez, liberando los bloqueos entre lotes.
- Agregar un índice en la columna OrderId para acelerar la operación de actualización.
- Considere el aislamiento de SNAPSHOT para operaciones de lectura con el fin de reducir el impacto del bloqueo.
11.3 Estudio de caso: Identificación de ejecuciones de consultas excesivas
La monitorización de la base de datos muestra que el uso de la CPU ha aumentado gradualmente durante el último mes, pero no se han producido cambios evidentes en el código de la aplicación.
11.3.1 Detección de recuentos de ejecuciones anormales
Abra el Monitor de Actividad y examine el panel de Consultas costosas recientes:
- Ordenar por Ejecuciones/minuto para ver la most consultas ejecutadas con frecuencia.
- La consulta principal muestra 37,000 ejecuciones por minuto, una cifra muy superior a la de cualquier otra consulta.
- Haga clic derecho y seleccione Editar texto de consulta.
- La consulta recupera información sobre la categoría del producto:
SELECT CategoryId, CategoryName FROM ProductCategories WHERE CategoryId = @CategoryId; - Esta sencilla consulta debería ser rápida y almacenable en caché, sin embargo se está ejecutando decenas de miles de veces por minuto.
11.3.2 Seguimiento hasta el código de aplicación
En el panel Procesos, busque las sesiones que ejecutan esta consulta:
- Nota la Aplicación La columna muestra “ProductCatalogService”.
- Haz clic con el botón derecho en una de estas sesiones y selecciona Proceso de seguimiento en SQL Server Profiler.
- SQL Profiler revela que la consulta se ejecuta repetidamente en rápida sucesión con diferentes valores de CategoryId.
- Contacta con el equipo de desarrollo que gestiona ProductCatalogService para la revisión del código.
La revisión del código revela el problema: un cambio reciente recupera listados de productos con categorías. Para cada producto en el conjunto de resultados (a menudo más de 1,000), el código realiza una consulta a la base de datos para obtener la información de la categoría, un problema clásico de consulta N+1.
11.3.3 Optimización de la aplicación
Implementar una solución adecuada:
- Modificar la consulta de la aplicación Para utilizar una consulta JOIN que recupere productos y sus categorías en una sola llamada a la base de datos:
SELECT p.ProductId, p.ProductName, c.CategoryId, c.CategoryName FROM Products p INNER JOIN ProductCategories c ON p.CategoryId = c.CategoryId WHERE p.Active = 1; - Implementa el código actualizado. y monitorizar el Monitor de Actividad.
- Verifique la solución: Las ejecuciones por minuto para la consulta de categoría caen de 37,000 a menos de 100, y el uso general de la CPU disminuye un 40%.
- Documenta la lección aprendida. y compartirlo con el equipo de desarrollo para evitar problemas similares en futuros cambios de código.
12. Detectar posibles daños en la base de datos
Aunque el Monitor de Actividad no está diseñado específicamente para detectar la corrupción de bases de datos, ciertos patrones en su visualización pueden sugerir problemas de corrupción subyacentes que justifican una investigación más profunda.
12.1 Síntomas de posible corrupción de la base de datos
Si la base de datos está dañada y se está accediendo a ella, ocasionalmente podría ver lo siguiente:
1. En el panel Procesos:
- Sesiones atascadas en estado SUSPENDIDO con tipos de espera inusuales
- Procesos que muestran estados de error
- Las consultas fallan repetidamente.
2. En el panel de espera de recursos:
- Tipos de espera inusuales relacionados con E/S que podrían indicar problemas de disco (aunque esto probablemente indique problemas de hardware en lugar de corrupción lógica).
3. En consultas costosas recientes:
- Las consultas con lecturas físicas anormalmente altas intentan leer repetidamente páginas dañadas.
12.2 Comprobación adicional con DBCC CHECKDB
Cuando el Monitor de Actividad muestre síntomas que sugieran una posible corrupción, debe ejecutar inmediatamente DBCC CHECKDB para verificar la integridad de la base de datos. Este comando analiza todas las páginas de la base de datos, valida las sumas de comprobación y comprueba si existen errores de coherencia lógica.
Para obtener más información sobre cómo usar DBCC CHECKDB para comprobar y corregir errores en la base de datos, consulte nuestra Guía completa de DBCC CHECKDB.
12.3 Reparación con herramientas profesionales
Si DBCC CHECKDB confirma la corrupción de la base de datos, tiene varias opciones para repararla:
- El método preferido es restaurar desde una copia de seguridad que se sabe que funciona correctamente. Ver Nuestra guía completa sobre cómo realizar copias de seguridad y restaurar SQL Server bases de datos.
- Para casos de corrupción menor, DBCC CHECKDB con REPAIR_REBUILD puede resolver los problemas.
- Para bases de datos críticas sin copias de seguridad recientes, se requiere un profesional. Software de recuperación de SQL y, a menudo, los servicios pueden recuperar datos que las opciones de reparación integradas no pueden.
13. Conclusión
SQL Server El Monitor de Actividad se erige como una herramienta invaluable para los administradores de bases de datos, ya que proporciona información inmediata sobre el rendimiento del servidor y ayuda a diagnosticar problemas de forma rápida y eficaz.
13.1 Resumen de puntos clave
A lo largo de esta guía, hemos explorado cómo el Monitor de Actividad te ayuda a comprender y solucionar problemas. SQL Server actuación:
- El Monitor de Actividad proporciona visibilidad en tiempo real de los procesos, esperas, consultas y E/S a través de una interfaz gráfica organizada.
- Los cinco paneles (Resumen, Procesos, Esperas de recursos, E/S de archivos de datos y Consultas costosas recientes) ofrecen perspectivas únicas sobre la actividad del servidor.
- Los problemas comunes, como la ejecución excesiva de consultas, las cadenas de bloqueo y el alto uso de la CPU, se pueden gestionar con una investigación sistemática en el Monitor de Actividad.
- Aunque potente, el Monitor de Actividad tiene limitaciones, como la falta de datos históricos, la agrupación de tipos de espera y la sobrecarga de monitorización que afectan a su aplicación.cability.
- Complementar el Monitor de Actividad con consultas DMV, sp_WhoIsActive, Eventos Extendidos y, potencialmente, herramientas de terceros, crea una estrategia de monitoreo integral.
- Siguiendo las mejores prácticas para los intervalos de actualización, cerrando el Monitor de Actividad cuando no se utilice y combinando varios paneles para la correlación, se maximiza su valor y se minimiza su impacto.
13.2 El monitor de actividad como parte de tu kit de herramientas
El Monitor de Actividad debe ser tu herramienta de primera respuesta para las investigaciones de rendimiento, no la única. Su principal ventaja radica en proporcionar visibilidad inmediata durante la resolución de problemas, ayudándote a determinar rápidamente si la base de datos es el cuello de botella e identificar qué aspectos específicos requieren una investigación más profunda.
Piensa en el Monitor de Actividad como en el panel de instrumentos de tu coche: te avisa inmediatamente si algo falla y te ayuda a identificar el problema general. Al igual que el panel de instrumentos no te dice exactamente por qué se encendió la luz de revisión del motor, el Monitor de Actividad te orienta hacia los problemas, aunque no siempre revela la causa raíz completa. Un análisis más profundo requiere herramientas y conocimientos especializados.
Integre Activity Monitor en un conjunto de herramientas más amplio que incluya análisis del plan de ejecución, seguimiento de estadísticas de espera, soluciones de monitorización histórica y prácticas recomendadas de rendimiento. Úselo junto con estrategias de indexación adecuadas, técnicas de optimización de consultas y planificación de capacidad.
13.3 Continuación de su viaje de aprendizaje
Dominar el Monitor de Actividad es solo un paso para convertirse en un administrador de bases de datos eficaz. Continúe desarrollando sus habilidades mediante:
- Aprender a interpretar planes de ejecución e identificar operaciones ineficientes
- Entender SQL Server Estadísticas de espera y sus implicaciones
- Estudio de técnicas de diseño y optimización de índices
- Explorar SQL Serversu arquitectura y cómo procesa las consultas
- Practicar metodologías sistemáticas de resolución de problemas
- Desarrollando experiencia con Eventos Extendidos para un seguimiento detallado
- Comprender los niveles de aislamiento de transacciones y su impacto en el rendimiento.
Cada análisis de rendimiento con el Monitor de Actividad te enseña algo nuevo sobre cómo SQL Server Analiza cómo funcionan las aplicaciones y cómo interactúan con las bases de datos. Documenta tus hallazgos, comparte conocimientos con tus colegas y crea una biblioteca.rary de soluciones para problemas comunes.
13.4 Recursos adicionales
Amplíe sus conocimientos con estos valiosos recursos:
- Abra el Monitor de actividad en SQL Server Estudio de gestión (SSMS)
: Oficial SQL Server documentación sobre cómo abrir el Monitor de Actividad en SQL Server Estudio de gestión (SSMS).
- Activity Monitor
: Oficial SQL Server Documento sobre cómo usar el Monitor de Actividad.
14. Preguntas frecuentes (FAQ)
P: ¿Qué es SQL Server ¿Monitor de actividad?
A: SQL Server El Monitor de Actividad es una herramienta integrada dentro de SQL Server Estudio de gestión que muestra información en tiempo real sobre los procesos que se ejecutan en un SQL Server La herramienta muestra las instancias y su impacto en los recursos del servidor. Proporciona un panel gráfico con cinco secciones que muestran diferentes aspectos de la actividad del servidor, incluyendo el uso del procesador, las tareas en espera, las tasas de E/S, las sesiones activas y las consultas costosas.
P: ¿Cómo abro el Monitor de Actividad en SSMS?
R: Puede abrir el Monitor de Actividad mediante cuatro métodos: (1) Haga clic en el icono del Monitor de Actividad en la barra de herramientas de SSMS, (2) Haga clic con el botón derecho en su SQL Server Nombre de la instancia en el Explorador de objetos y seleccione Activity Monitor(3) Prensa Ctrl + otro + Ao (4) Configurar SSMS para que lo inicie automáticamente mediante Accesorios -> Opciones -> Medio Ambiente -> Inicio.
P: ¿Qué permisos necesito para usar el Monitor de Actividad?
A: Necesitas el VER ESTADO DEL SERVIDOR permiso para ver most Información del Monitor de Actividad. Para el panel de E/S de archivos de datos, también necesita: CREAR BASE DE DATOS, MODIFICAR CUALQUIER BASE DE DATOS o VER CUALQUIER DEFINICIÓN permisos. Sin estos permisos, el Monitor de Actividad puede abrirse pero mostrará paneles en blanco.
P: ¿Por qué mi Monitor de Actividad está en pausa o no funciona?
R: El Monitor de Actividad suele pausarse debido a problemas de permisos, versiones obsoletas de SSMS o conexiones remotas deshabilitadas. Para resolverlo: (1) Actualice a la última versión de SSMS, (2) Verifique que tiene permiso para VER EL ESTADO DEL SERVIDOR, (3) Compruebe que las conexiones remotas estén habilitadas en el servidor. SQL Server Ejemplo, (4) Restart SSMS, y (5) Intente conectarse con la autenticación de Windows en lugar de la autenticación de SQL si correspondecabellos.
P: ¿Cuál es la diferencia entre el Monitor de Actividad y sp_WhoIsActive?
A: El Monitor de Actividad es una herramienta gráfica integrada en SSMS que proporciona paneles organizados para diferentes aspectos de la monitorización. sp_WhoIsActive es un procedimiento almacenado gratuito, creado por la comunidad, que devuelve información detallada de la sesión en un único conjunto de resultados, con tipos de espera más específicos, detalles de bloqueo y opciones de personalización superiores a las del Monitor de Actividad. El Monitor de Actividad es mejor para la exploración visual, mientras que sp_WhoIsActive destaca en la monitorización mediante scripts y proporciona información más detallada.
P: ¿Afecta el Monitor de Actividad al rendimiento del servidor?
Sí, el Monitor de Actividad tiene una sobrecarga considerable porque consulta las DMV del sistema en cada intervalo de actualización. El impacto aumenta con frecuencias de actualización más bajas; Microsoft advierte que los intervalos inferiores a 10 segundos pueden afectar al rendimiento del servidor. Cierre siempre el Monitor de Actividad cuando no lo esté utilizando y considere intervalos de actualización de 30 a 60 segundos en servidores de producción con carga elevada.
P: ¿Puedo obtener datos del Monitor de Actividad usando T-SQL?
Sí, el Monitor de Actividad consulta las vistas de administración dinámica del sistema, como sys.dm_exec_requests, sys.dm_exec_sessions, sys.dm_os_wait_stats y sys.dm_exec_query_stats. Puede consultar estas DMV directamente mediante T-SQL para recuperar información equivalente de forma programática, lo que permite crear scripts de supervisión personalizados y automatizar la recopilación de datos.
P: ¿Cuál es el intervalo de actualización predeterminado?
R: El intervalo de actualización predeterminado es de 10 segundos. Puede cambiarlo haciendo clic con el botón derecho en cualquier lugar del panel Información general y seleccionando Intervalo de actualizacióny eligiendo entre opciones predefinidas: 1 segundo, 5 segundos, 10 segundos, 30 segundos, 1 minuto o 1 hora. Los intervalos más cortos proporcionan vistas en tiempo real más frecuentes, pero aumentan la carga de monitorización.
P: ¿Cómo puedo abrir automáticamente el Monitor de Actividad en SSMS?tar¿Tup?
A: Configurar el inicio automático mediante las opciones de SSMS: Navegue a Accesorios -> Opciones -> Medio Ambiente -> Inicio, A continuación, seleccione Abra el Explorador de objetos y el Monitor de actividad. de la en startubo Menú desplegable. El Monitor de actividad se abrirá automáticamente cada vez que se conecte a un servidor en SSMS.
P: ¿Cuáles son las limitaciones del Monitor de Actividad?
R: Las principales limitaciones incluyen: (1) No dispone de almacenamiento de datos históricos ni capacidad para analizar tendencias, (2) Los tipos de espera se agrupan en categorías en lugar de mostrarse específicamente, (3) Algunos tipos de espera, como CXPACKET, pueden no aparecer, (4) Las instantáneas puntuales pueden no detectar problemas transitorios, (5) La sobrecarga de la monitorización puede afectar a servidores con mucha actividad, (6) No dispone de un mecanismo de alertas para la monitorización proactiva y (7) No puede agregar datos de múltiples servidores. SQL Server casos. Para estas necesidades, complemente el Monitor de Actividad con Eventos Extendidos, conjuntos de recopilación de datos o herramientas de monitoreo de terceros.
Sobre el Autor
Yuan Sheng es un administrador de bases de datos senior (DBA) con más de 10 años de experiencia en SQL Server Entornos y gestión de bases de datos empresariales. Ha resuelto con éxito cientos de escenarios de recuperación de bases de datos en organizaciones de servicios financieros, atención médica y manufactura.
Yuan se especializa en SQL Server recuperación de base de datos, soluciones de alta disponibilidady optimización del rendimiento. Su amplia experiencia práctica incluye la gestión de bases de datos de varios terabytes, la implementación de grupos de disponibilidad permanente y el desarrollo de estrategias automatizadas de copias de seguridad y recuperación para sistemas empresariales críticos.
Gracias a su experiencia técnica y su enfoque práctico, Yuan se centra en crear guías integrales que ayuden a los administradores de bases de datos y a los profesionales de TI a resolver problemas complejos. SQL Server Aborda los desafíos de manera eficiente. Se mantiene al día con las últimas novedades. SQL Server versiones y las tecnologías de bases de datos en evolución de Microsoft, probando periódicamente escenarios de recuperación para garantizar que sus recomendaciones reflejen las mejores prácticas del mundo real.
¿Tiene preguntas acerca SQL Server ¿Necesita ayuda adicional para la recuperación de la base de datos o para solucionar problemas? Yuan le da la bienvenida. comentarios y sugerencias para mejorar estos recursos técnicos.


















