Comparte ahora:
Índice hide

1. Introducción a SQL Server monitor de rendimiento

1.1 Que es SQL Server ¿Monitor de rendimiento?

SQL Server El monitor de rendimiento es el proceso de seguimiento, análisis y gestión del rendimiento y la salud de su SQL Server Bases de datos. Implica la recopilación e interpretación de datos sobre diversos aspectos de su sistema de bases de datos para garantizar un rendimiento óptimo, prevenir problemas y mantener la salud de la base de datos.

La monitorización del rendimiento abarca el seguimiento de los tiempos de ejecución de las consultas, la utilización de recursos, el rendimiento del índice, los bloqueos y los interbloqueos, y los patrones de crecimiento de la base de datos. Esta supervisión continua ayuda a los administradores a identificar posibles problemas antes de que afecten a los usuarios o a las operaciones comerciales.

1.2 Beneficios clave de la supervisión del rendimiento

Eficaz SQL Server El monitor de rendimiento ofrece varias ventajas importantes:

  • Detección proactiva de problemas: Identificar y abordar problemas potenciales antes de que afecten a los usuarios o las operaciones comerciales
  • Optimización del rendimiento: Identifique cuellos de botella e ineficiencias para mejorar el rendimiento general de la base de datos
  • Planificación de capacidad: Prever las necesidades de recursos y planificar el crecimiento futuro basándose en datos históricos
  • Cumplimiento y seguridad: Garantizar el cumplimiento de los requisitos reglamentarios y detectar actividades sospechosas

1.3 Desafíos comunes de rendimiento

Sin un monitor adecuado del rendimiento de la base de datos SQL, las organizaciones enfrentan varios riesgos:

  • Tiempo de inactividad inesperado que interrumpe las operaciones comerciales
  • El bajo rendimiento de la aplicación afecta la experiencia del usuario
  • Pérdida o corrupción de datos
  • Utilización ineficiente de los recursos que conduce a costos innecesariososts
  • Usuarios frustrados y posible pérdida de ingresos

Según un estudio de IDC de 2023, el 65% de los problemas de rendimiento de las bases de datos se deben a prácticas deficientes de supervisión u optimización.

2. Comprensión del Monitor de rendimiento de Windows (PerfMon)

2.1 ¿Qué es el Monitor de rendimiento de Windows?

El Monitor de rendimiento de Windows (PerfMon) es una herramienta integrada de Windows que supervisa los recursos del sistema y el rendimiento de las aplicaciones. SQL Server Para los administradores, PerfMon proporciona información valiosa tanto sobre el sistema operativo como sobre SQL Server métricas, lo que lo hace esencial para un análisis integral del rendimiento.

Monitor de rendimiento de Windows (PerfMon)

PerfMon mide las estadísticas de rendimiento a intervalos regulares y las guarda en archivos para su posterior análisis. Los administradores de bases de datos pueden seleccionar el intervalo de tiempo, el formato de archivo y las estadísticas que se monitorizarán. La herramienta no es... SQL Server-específico: los administradores de sistemas lo utilizan para supervisar Windows, Exchange, servidores de archivos y cualquier aplicación que pueda experimentar cuellos de botella.

2.2 Inicio del Monitor de rendimiento

Puede iniciar el Monitor de rendimiento mediante varios métodos:

  1. Haga clic en Inicie, tipo Monitor de rendimiento En el cuadro de búsqueda, haga clic en “Monitor de rendimiento” en el resultado de la búsqueda:
    Buscar y start PerfMon desde el cuadro de búsqueda de Windows.
  2. Presione Windows + R, tipo Monitor de rendimientoy presione entrar:
    Start PerfMon desde el cuadro de ejecución de Windows.
  3. Navegue a Panel de Control -> Sistema y seguridad -> Herramientas administrativas -> monitor de rendimiento
    Start PerfMon desde el Panel de control -> Sistema y seguridad -> Herramientas administrativas -> Monitor de rendimiento

3. esencial SQL Server Contadores de rendimiento

3.1 Contadores de rendimiento de memoria

Los contadores de memoria son fundamentales para la monitorización SQL Server rendimiento, ya que indican si su base de datos tiene suficientes recursos de memoria.

MBytes disponibles

Este contador muestra la cantidad de memoria física disponible para su asignación inmediata. Debe mantenerse bastante constante e idealmente no bajar de 4096 MB. Valores bajos pueden indicar que SQL ServerLa configuración de memoria máxima se deja en el valor predeterminado o noSQL Server Las aplicaciones están consumiendo memoria.

Esperanza de vida de la página

La esperanza de vida de la página mide el tiempo (en segundos) que una página permanece en el búfer sin ser referenciada. Un valor normal es de 300 segundos o más. Valores inferiores indican presión de memoria y una rotación excesiva del búfer, lo que reduce la eficacia de la caché.

Tasa de aciertos de la caché de búfer

Este contador indica el porcentaje de solicitudes de datos respondidas utilizando la caché del búfer SQL (memoria) en lugar de leer desde el disco. Normalmente alcanza o supera el 99 %. Los valores más bajos sugieren que SQL Server Necesita más memoria o todavía se está calentando después de una restart.

Concesiones de memoria pendientes

Esto muestra la cantidad de procesos que esperan memoria dentro SQL ServerEn condiciones normales, este valor debería ser constantemente 0. Los valores más altos indican una asignación de memoria insuficiente para SQL Server.

TarObtenga memoria del servidor vs memoria total del servidor

TarObtener memoria del servidor indica la cantidad ideal de memoria SQL Server quiere usar. La memoria total del servidor muestra qué SQL Server Usos actuales. La relación entre estos valores debe ser aproximadamente 1. Diferencias significativas pueden indicar presión de memoria o memoria disponible insuficiente.

3.2 Contadores de rendimiento del procesador

Los contadores de CPU ayudan a identificar cuellos de botella del procesador y a comprender cómo SQL Server Utiliza recursos informáticos.

% Tiempo de procesador

Mide el porcentaje de tiempo transcurrido que el procesador dedica a ejecutar subprocesos activos. En servidores activos, los valores pueden alcanzar el 100 %, pero un uso prolongado superior al 70-75 % suele indicar problemas de rendimiento para los usuarios. La falta de índices o la insuficiencia de estos suelen provocar un alto consumo de CPU.

% Tiempo privilegiado

El tiempo de procesamiento se divide en modo Usuario y modo Privilegiado (Kernel). Todo el acceso al disco y la E/S se realizan en modo Kernel. Si este contador supera el 25%, es probable que el sistema realice demasiadas E/S. Los valores normales oscilan entre el 5% y el 10%.

Longitud de la cola del procesador

Este contador muestra los subprocesos que esperan recursos de la CPU. Los valores consistentemente superiores a 1 (excepto durante SQL Server La compresión de respaldo indica presión en la CPU. Esto a menudo significa que hay otras aplicaciones instaladas en la... SQL Server máquina, lo cual viola las mejores prácticas.

Cambios de contexto/seg

Mide la frecuencia con la que el procesador cambia de subproceso. Un cambio de contexto excesivo puede afectar el rendimiento e indicar una alta carga del sistema.

3.3 Contadores de rendimiento de E/S de disco

Los contadores de disco son esenciales para la supervisión del rendimiento de SQL, ya que la E/S de disco a menudo se convierte en el principal cuello de botella en los sistemas de bases de datos.

% Tiempo de disco

Esto registra el porcentaje de tiempo que el disco estuvo ocupado con operaciones de lectura/escritura. Valores superiores al 85 % indican un cuello de botella de E/S. Dado que el disco es mucho más lento que la memoria, reducir esta métrica mejora el rendimiento.

Promedio de segundos de disco/lectura y Promedio de segundos de disco/escritura

Estos contadores miden el tiempo promedio (en segundos) de las operaciones de lectura y escritura. Si los valores promedio superan los 10-20 ms, el disco tarda demasiado en procesar los datos. Las unidades de registro de transacciones requieren un rendimiento de escritura especialmente rápido.

Longitud de la cola de discos

Esto muestra las solicitudes de lectura/escritura pendientes en el disco. Un valor superior a 2 (o 2 por disco en el caso de matrices RAID) indica que el disco no puede gestionar las solicitudes de E/S.

Bytes de disco/seg

Esto supervisa la velocidad de transferencia de datos hacia/desde el disco. Si esta supera la capacidad nominal del disco, los datos comienzan a acumularse, como lo indica el aumento de la longitud de la cola del disco.

Transferencias de disco/seg

Esto rastrea el número de operaciones de lectura/escritura realizadas en el disco. SQL Server El acceso a los datos suele ser aleatorio, lo cual es más lento debido al movimiento del cabezal de la unidad. Asegúrese de que este valor se mantenga por debajo de la capacidad máxima de su unidad de disco (normalmente 100/s para unidades estándar).

3.4 SQL Server Contadores específicos

3.4.1 Contadores del administrador de búfer

Monitor de contadores del administrador de búfer SQL ServerOperaciones del búfer de memoria de:

  • Lecturas de página/seg: Recuento acumulado de lecturas de páginas de bases de datos físicas
  • Escrituras de página/seg: Recuento acumulado de escrituras de páginas de bases de datos físicas
  • Escrituras perezosas por segundo: Número de buffers escritos por un escritor perezoso para liberar memoria
  • Páginas de punto de control/seg: Páginas vaciadas por punto de control u otras operaciones que requieren que se vacíen todas las páginas sucias

3.4.2 Contadores de estadísticas de SQL

Estos contadores proporcionan información sobre SQL Server procesamiento de consultas:

  • Solicitudes por lotes/seg: Número de solicitudes SQL por lotes recibidas por el servidor. Esto sirve como referencia para la actividad del servidor.
  • Compilaciones SQL/seg: Número de compilaciones SQL. Debe ser igual o inferior al 10 % del total de solicitudes de lote por segundo.
  • Recompilaciones SQL/seg: Número de recompilaciones de SQL. Debe ser igual o inferior al 10 % del total de solicitudes por lote/s.

3.4.3 Contadores de estadísticas generales

  • Conexiones de usuario: Número de usuarios conectados al sistema. Se utiliza como referencia para medir el crecimiento de las conexiones a lo largo del tiempo.
  • Procesos bloqueados: Número actual de procesos bloqueados. Idealmente, debería ser 0.

3.4.4 Contadores del administrador de memoria

  • Subvenciones de memoria pendientes: Número total de procesos que esperan la concesión de memoria del espacio de trabajo. Idealmente, debería ser 0.

4. Configuración del Monitor de rendimiento para SQL Server(Windows Vista/Server 2008 y posteriores)

En primer lugar, necesitamos crear un contenedor para administrar los contadores más fácilmente:

  • Para Windows Vista/Server 2008 y versiones posteriores, puede crear conjuntos de recopiladores de datos en esta sección.
  • Para Windows XP/Server 2003 y versiones anteriores, puede crear registros de contadores en la siguiente sección.

4.1 ¿Qué son los conjuntos de recopiladores de datos?

Los conjuntos de recopiladores de datos organizan los contadores de rendimiento, los datos de seguimiento de eventos y la información de configuración del sistema en una única unidad de recopilación. Ofrecen mayor flexibilidad que los simples registros de contadores y permiten la recopilación de datos automatizada y programada para una monitorización completa del rendimiento de las bases de datos SQL.

4.2 Creación de un conjunto de recopiladores de datos

Cree un conjunto de recopiladores de datos personalizado para supervisar SQL Server contadores de rendimiento:

  1. Monitor de rendimiento abierto
  2. Expandir Conjuntos de recopiladores de datos
  3. Haga clic con el botón Definido por el usuario
  4. Seleccione New -> Conjunto recopilador de datos
    Crear un nuevo conjunto de recopiladores de datos en PerfMon
  5. Introduzca un nombre descriptivo (por ejemplo, “SQL Server Métricas de rendimiento”)
  6. Seleccione Crear manualmente (Avanzado)
    Establezca un nombre de descripción para el conjunto de recopiladores de datos
  7. Haga clic en Siguiente
  8. Comprobar Crear registros de datos -> Contador de rendimiento
    Seleccione Crear registros de datos -> Contador de rendimiento en el asistente Crear nuevo conjunto de recopiladores de datos.
  9. Haga clic en Siguiente
  10. Haga clic en Agregar la extensión de para seleccionar contadores
  11. Agregar la extensión de deseado SQL Server y contadores del sistema.
    Agregue contadores de rendimiento al nuevo conjunto de recopiladores de datos.
  12. Establecer Intervalo de muestra
    • Para el monitoreo de rutina, utilice 1 minuto (60 segundos)
    • Para la resolución activa de problemas, utilice de 15 a 30 segundos.
    • Evite ejecutar capturas de alta frecuencia a largo plazo, ya que pueden afectar el rendimiento y generar datos excesivos.

    Establezca el intervalo de muestra en el nuevo asistente de conjunto de recopiladores de datos.

  13. Haga clic en Siguiente
  14. Elija la ubicación para guardar los registros
    Establezca la ubicación para guardar los datos de rendimiento en el nuevo asistente de conjunto de recopiladores de datos.
  15. Haga clic en AcabadoSe creará un nuevo conjunto de recopiladores de datos.
  16. De forma predeterminada, el nuevo conjunto de recopiladores de datos ser started automáticamente. Debes encontrarlo en el panel izquierdo, debajo Rendimiento -> Conjuntos de recopiladores de datos -> Definido por el usuario -> Su recopilador de datos, haga clic derecho sobre él y seleccione Inicie
    Starun nuevo conjunto de recopiladores de datos en PerfMon.

4.3 Contadores clave para agregar

  • Memoria -> MBytes disponibles
  • Disco físico -> Promedio de segundos de disco/lectura (todas las instancias excepto _Total)
  • Disco físico -> Promedio de segundos de disco por escritura (todas las instancias excepto _Total)
  • Disco físico -> Lecturas de disco/seg (todas las instancias excepto _Total)
  • Disco físico -> Escrituras en disco/seg (todas las instancias excepto _Total)
  • Procesador -> % Tiempo de procesador (todas las instancias excepto _Total)
  • SQLServer: Estadísticas generales -> Conexiones de usuario
  • SQLServer: Administrador de memoria -> Concesiones de memoria pendientes
  • SQLServer: Estadísticas SQL -> Solicitudes por lotes/seg
  • SQLServer: Estadísticas SQL -> Compilaciones SQL/seg
  • SQLServer: Estadísticas SQL -> Recompilaciones SQL/seg
  • Sistema -> Longitud de la cola del procesador

4.4 Establecer condiciones de parada

Configurar condiciones de detención para evitar el crecimiento ilimitado de datos:

  1. Después de crear el conjunto de recopiladores de datos, haga clic derecho sobre él y seleccione Propiedades
  2. Haga clic en la pestaña Condición de parada . Puede
  3. Active Duración total
  4. Establecer la duración a 1 día (24 horas)
  5. Haga clic en OK para guardar

Establecer la condición de detención para el conjunto de recopiladores de datos

Esto garantiza que el registro no crezca demasiado y se restablezca automáticamente.tarts si está programado.

4.5 Programación de la recopilación de datos

Automatice la recopilación de datos para garantizar un seguimiento constante:

  1. Haga clic derecho en su conjunto de recopiladores de datos y seleccione Propiedades
  2. Haga clic en la pestaña Enlace para . Puede
  3. Haga clic en Agregar la extensión de para crear un nuevo horario
  4. Configurar start fecha y hora
  5. Establecer un patrón de recurrencia (por ejemplo, diario)
  6. Haga clic en OK para guardar el horario

Establecer la programación para el conjunto de recopiladores de datos

Para s automáticostartup, configure el conjunto recopilador de datos en start cuando el servidor arranca creando comotarDisparador tup en el Programador de tareas de Windows.

5. Configuración del Monitor de rendimiento para SQL Server(Windows XP/Server 2003 y anteriores)

Para Windows XP/Server 2003 y versiones anteriores, puede crear registros de contadores, que le permiten seleccionar un conjunto de contadores de rendimiento y registrarlos en un archivo periódicamente.

5.1 Creación de registros de contadores

Siga estos pasos para crear un nuevo registro de contador:

  1. Monitor de rendimiento abierto
  2. Expandir Registros y alertas de rendimiento en el panel izquierdo
  3. Haga clic con el botón Registros de contador
  4. Seleccione Nueva configuración de registro
  5. Nombra el registro con el nombre de tu servidor de base de datos (por ejemplo, “ProductionSQL01”)
  6. Haga clic en OK para comenzar la configuración

La creación de registros de contadores separados para cada servidor le permite probar el rendimiento en servidores individuales sin recopilar datos de todos los servidores simultáneamente.

5.2 Agregar contadores de rendimiento

Después de crear un registro de contador, agregue los contadores de rendimiento específicos que desea monitorear:

  1. Haga clic en la pestaña Agregar contadores en la
  2. Cambie el nombre de la computadora para que apunte a su SQL Server ejemplo
  3. Presione Pestaña para cargar objetos de rendimiento disponibles
  4. Seleccione un objeto de rendimiento del menú desplegable (por ejemplo, Salud Cerebral)
  5. Elija contadores específicos de la lista
  6. Seleccionar instancias si correspondecable (por ejemplo, procesadores o discos individuales)
  7. Haga clic en Agregar la extensión de para incluir el contador
  8. Repita para todos los contadores deseados
  9. Haga clic en Cerrar cuando esté terminado

5.3 Configuración de intervalos de muestra

El intervalo de muestreo determina la frecuencia con la que Performance Monitor recopila datos. Configure los intervalos adecuados según sus necesidades de monitorización:

  1. En las propiedades del registro del contador, localice Datos de muestra cada
  2. Establezca el intervalo (el valor predeterminado es 15 segundos)
  3. Para el monitoreo de referencia, utilice intervalos de 1 minuto para la recolección diaria.
  4. Para solucionar problemas, utilice intervalos de 15 a 30 segundos para ráfagas cortas.
  5. Haga clic en OK Aplicar

Recuerde que los intervalos más cortos generan más datos, lo que puede dificultar su renderización y análisis. Los intervalos más largos pueden pasar por alto picos importantes. Equilibre la granularidad de los datos con los requisitos de almacenamiento y análisis.

5.4 Configuración de archivos de registro

La configuración adecuada del archivo de registro garantiza que los datos se almacenen de manera eficiente y accesible:

  1. Haga clic en la pestaña Archivar registros pestaña en las propiedades del registro del contador
  2. Cambiar el tipo de archivo de registro a Archivo de texto (delimitado por comas) para facilitar la importación de Excel
  3. Haga clic en Configurar
  4. Establezca la ruta del archivo en una ubicación dedicada (por ejemplo, una carpeta PerformanceLogs compartida)
  5. Haga clic en OK para confirmar

Utilice un recurso compartido con acceso a la red para el almacenamiento de registros, de modo que pueda acceder a los archivos de forma remota y compartirlos con otros usuarios.

5.5 Configuración de credenciales

Configure las credenciales adecuadas para que Performance Monitor pueda acceder de forma remota SQL Server instancias:

  1. En las propiedades del registro del contador, localice Correr como
  2. Ingrese su nombre de usuario de dominio en el formato: DOMINIO\nombre de usuario
  3. Haga clic en Configuración de la contraseña
  4. Ingresa y confirma tu contraseña
  5. Haga clic en OK para guardar

Esto permite que el servicio PerfMon recopile estadísticas utilizando los permisos de su dominio en lugar de sus propias credenciales.

6. Análisis de los datos del Monitor de Rendimiento

6.1 Visualización de archivos de registro en el Monitor de rendimiento

El Monitor de rendimiento puede mostrar datos históricos de archivos de registro guardados:

  1. Monitor de rendimiento abierto
  2. En el panel izquierdo, haga clic en Herramientas de monitoreo -> monitor de rendimiento.
  3. Haga clic derecho en cualquier parte del área del gráfico
  4. Seleccione  Propiedades
    Abra propiedades en PerfMon haciendo clic derecho en cualquier parte del área del gráfico.
  5. Haga clic en la pestaña Fuente . Puede
  6. Seleccione  Log files  boton de radio
  7. Haga clic en Agregar la extensión de
  8. Navegue hasta su archivo de registro (.blg o .csv)
  9. Seleccione el archivo y haga clic en Abierto
    Establecer el archivo de registro como fuente del gráfico en PerfMon.
  10. Use el botón Intervalo de tiempo Control deslizante para seleccionar el período que desea analizar
  11. Haga clic en OK para cerrar el cuadro de diálogo Propiedades
  12. Haga clic en el ícono más verde para agregar contadores desde el archivo de registro
    Haga clic en el ícono más verde para agregar contadores desde el archivo de registro en PerfMon.
  13. Seleccione los contadores que desea mostrar
    Agregue los contadores deseados al gráfico en PerfMon.
  14. Haga clic en OK

El gráfico mostrará ahora los datos históricos del archivo de registro. Utilice el control deslizante de Intervalo de tiempo en Propiedades para delimitar períodos específicos y realizar un análisis detallado.

6.2 Exportación de datos a Excel

Excel proporciona potentes capacidades de análisis para los datos del contador de rendimiento:

  1. Abra el Monitor de rendimiento con su archivo de registro cargado
  2. Haga clic derecho en cualquier parte del área del gráfico
  3. Seleccione Guardar datos como
  4. Elija una ubicación para el archivo
  5. Seleccione Archivo de texto (delimitado por comas) (.csv) desde el menú desplegable
  6. Haga clic en Guardar
  7. Abra el archivo CSV en Excel

Exportar los datos al archivo en PerfMon.

Formatee los datos exportados para un mejor análisis:

  1. Eliminar la fila 2 medio vacía y borrar la celda A1
  2. Formatear la columna A como Fecha/Hora
  3. Formatear columnas numéricas con cero decimales y separador de miles
  4. Busque y reemplace los nombres de servidores en los encabezados (por ejemplo, reemplace “\\SERVERNAME” con un espacio en blanco)
  5. Limpiar los nombres de los objetos en los encabezados (por ejemplo, “Memoria”, “Disco físico”, “Procesador”)
  6. Reducir el tamaño de fuente del encabezado a 8 puntos para una mejor visibilidad

6.3 Interpretación de los valores del contador

6.3.1 Análisis del contador de memoria

Al analizar los contadores de memoria, busque estos indicadores:

  • MBytes disponibles: Debería permanecer por encima de 4096 MB de forma constante
  • Esperanza de vida de la página: Los valores superiores a 300 segundos indican una memoria sana. Los valores inferiores sugieren presión de memoria.
  • Relación de aciertos de caché de búfer: Debe cumplir o superar el 99 %. Los valores inferiores indican lecturas excesivas del disco.
  • Subvenciones de memoria pendientes: Siempre debe ser 0. Cualquier valor positivo indica memoria.tarvación

6.3.2 Análisis del contador de CPU

Los indicadores de rendimiento de la CPU incluyen:

  • % Tiempo de procesador: Un uso prolongado superior al 75 % indica problemas de rendimiento. Los picos de hasta el 100 % son normales, pero no deberían persistir.
  • Longitud de la cola del procesador: Los valores superiores a 1 indican presión sobre la CPU. Consulta el Administrador de tareas para identificar qué procesos consumen CPU.
  • % Tiempo privilegiado: Debe mantenerse entre el 5 y el 10 %. Valores superiores al 25 % sugieren operaciones de E/S excesivas.

6.3.3 Análisis del contador de disco

Umbrales de rendimiento del disco:

  • Promedio de segundos de disco/lectura y escritura: Debe mantenerse por debajo de 10-20 ms. Valores más altos indican subsistemas de disco lentos.
  • Longitud de la cola de disco: Los valores consistentemente superiores a 2 (o 2 por disco en RAID) indican cuellos de botella de E/S
  • % Tiempo de disco: Valores sostenidos superiores al 85% indican saturación del disco.

6.4 Uso de fórmulas y estadísticas

Agregue fórmulas estadísticas a Excel para un análisis rápido:

  1. Inserte 7 filas en blanco en la parte superior de su hoja de cálculo
  2. Agregar etiquetas en la columna A: Promedio, Mediana, Mín., Máx., Desviación estándar
  3. En la celda B2, ingrese: =PROMEDIO(B9:B100) (ajuste B100 a su última fila de datos)
  4. En la celda B3, ingrese: =MEDIANA(B9:B100)
  5. En la celda B4, ingrese: =MIN(B9:B100)
  6. En la celda B5, ingrese: =MAX(B9:B100)
  7. En la celda B6, ingrese: =DESVEST(B9:B100)
  8. Copiar fórmulas en todas las columnas del contador
  9. Seleccione la celda B9 y presione Alt+W+F+Enter para congelar los paneles

Estas estadísticas ayudan a identificar tendencias, valores atípicos y rangos operativos normales para cada contador.

7. Herramienta de análisis de rendimiento de registros (PAL)

7.1 Introducción a PAL

Análisis de Rendimiento para Registros (PAL) es una herramienta gratuita desarrollada por Clint Huffman que analiza los registros del Monitor de Rendimiento y genera informes HTML con análisis de umbrales. PAL compara sus datos de rendimiento con umbrales conocidos y ofrece recomendaciones detalladas. SQL Server Optimización del rendimiento.

Descargue PAL desde el repositorio de GitHub: https://github.com/clinthuffman/PAL Enlace externo

7.2 Configuración de PAL

Instale PAL siguiendo estos pasos:

  1. Descargue el archivo de configuración PAL desde GitHub
  2. Ejecuta el instalador
  3. Haga clic en Siguiente en la pantalla de bienvenida
  4. Revisar y aceptar el directorio de instalación
  5. Haga clic en Siguiente para continuar
  6. Haga clic en Instalar para comenzar la instalación
  7. Espere a que finalice la instalación
  8. Haga clic en Acabado

7.3 Procesamiento de archivos de registro con PAL

Analice los registros de su Monitor de rendimiento utilizando PAL:

  1. Lanzamiento PAL desde el Starmenú t o directorio de instalación
  2. Haga clic en la pestaña Registro del contador . Puede
  3. Haga clic en Explorar para seleccionar su archivo .blg
  4. Navegue hasta el archivo de registro del Monitor de rendimiento
  5. Haga clic en Abierto
  6. Haga clic en la pestaña Archivo de umbral . Puede
  7. Seleccione un archivo de umbral del menú desplegable (por ejemplo, “SQL Server 2016 ")
  8. Haga clic en la pestaña Frecuentes . Puede
  9. Responda preguntas sobre la configuración de su sistema
  10. Especifique si su SQL Server ¿Qué es OLTP o almacén de datos?
  11. Ingrese la RAM total disponible
  12. Haga clic en la pestaña Opciones de salida . Puede
  13. Seleccione un directorio de salida para el informe HTML
  14. Comprobar HTML formato de salida
  15. Haga clic en la pestaña Implementación . Puede
  16. Revise sus selecciones
  17. Comprobar Start ejecución ahora
  18. Haga clic en Acabado

7.4 Análisis de informes PAL

Una vez que PAL completa el análisis, genera un informe HTML que contiene:

  • Resumen ejecutivo de los problemas de desempeño
  • Análisis detallado del contador con gráficos
  • Violaciones de umbral resaltadas en color
  • Recomendaciones específicas para cada tema
  • Tendencias y patrones históricos

El informe utiliza un código de colores para indicar la gravedad: rojo para problemas críticos, amarillo para advertencias y verde para métricas correctas. Revise cada sección para comprender los cuellos de botella en el rendimiento y siga las recomendaciones de PAL para la optimización.

8. Alternativa SQL Server Herramientas de monitoreo

8.1 incorporado SQL Server Accesorios

8.1.1 SQL Server Activity Monitor

SQL Server Activity Monitor muestra información en tiempo real sobre SQL Server Procesos y desempeño:

  1. Abierto SQL Server Management Studio (SSMS) y conéctese a su instancia de servidor
  2. Haga clic derecho en el nombre del servidor en el Explorador de objetos
  3. Seleccione Activity Monitor
    Start Monitor de actividad en SQL Server Estudio de gestión.

El Monitor de Actividad muestra procesos, esperas de recursos, E/S de archivos de datos y consultas costosas recientes. Proporciona información rápida sobre la actividad actual de la base de datos, pero no almacena datos históricos.

Monitor de actividad en SQL Server

8.1.2 SQL Server Panel de rendimiento

SQL Server Management Studio incluye informes de rendimiento integrados:

  1. In SQL Server Management Studio (SSMS), haga clic con el botón derecho en SQL Server instancia en el Explorador de objetos
  2. Seleccione Informes -> Informes estándar
  3. Elija entre los informes disponibles como Panel de rendimiento
    Abrir el panel de rendimiento en SQL Server Estudio de gestión.

El panel de rendimiento proporciona información visual sobre SQL Server Rendimiento de la instancia, incluyendo el uso de la CPU del sistema, las solicitudes en espera actuales y las métricas de rendimiento. Acceda a él a través del menú Informes estándar.

Panel de rendimiento en SQL Server Estudio de gestión

8.1.3 SQL Server Profiler

SQL Server Profiler captura y analiza SQL Server eventos como ejecución de consultas, operaciones de transacciones y actividades de inicio de sesión.

A start SQL Server Perfilador:

  1. In SQL Server Estudio de gestión, haga clic Accesorios -> SQL Server Profiler
    Start SQL Server Perfilador en SQL Server Estudio de gestión.

Profiler genera una sobrecarga de rendimiento significativa, por lo que se recomienda usarlo con prudencia y preferiblemente fuera de las horas punta.ost En escenarios donde Extended Events proporciona un mejor rendimiento con menor impacto.

SQL Server Profiler

8.1.4 Eventos extendidos

Eventos extendidos es un sistema ligero de monitorización del rendimiento integrado en SQL Server. Reemplaza SQL Server Perfilador con mejor rendimiento y menor sobrecarga.

Las características clave incluyen:

  • Monitoreo detallado de eventos específicos
  • Impacto mínimo en el rendimiento
  • Sesiones de eventos personalizables
  • Integración con SSMS y otras herramientas
  • Soporte para filtrado y agregación complejos

Crear sesiones de eventos extendidos a través de SSMS:

  1. In Explorador de objetos, expande tu servidor y ve a Gestión -> Eventos extendidos -> Sesiones
  2. Haga clic derecho en el Talleres y elige Asistente para nueva sesión
    Staruna nueva sesión de Eventos Extendidos en SQL Server Estudio de gestión.
  3. Siga las instrucciones para staruna nueva sesión.

8.1.5 Vistas de administración dinámica (DMV)

Las DMV muestran información detallada del estado del servidor para supervisar su estado, diagnosticar problemas y optimizar el rendimiento. Las DMV clave incluyen:

  • estadísticas de consulta sys.dm_exec: Estadísticas de rendimiento de consultas
  • estadísticas de espera del sistema dm_os: Tipos de espera que afectan el rendimiento del servidor
  • contadores de rendimiento del sistema operativo sys.dm: SQL Server datos del contador de rendimiento
  • solicitudes sys.dm_exec: Actualmente ejecutando solicitudes
  • sesiones sys.dm_exec: Sesiones de usuario activas

Consulte estas vistas utilizando T-SQL para acceder a datos de rendimiento en tiempo real y métricas históricas.

Uso básico

-- See all active connections
SELECT * FROM sys.dm_exec_connections;

-- View current sessions
SELECT * FROM sys.dm_exec_sessions;

-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);

8.2 Soluciones de monitoreo de terceros

Monitor SQL Redgate

Redgate SQL Monitor se especializa en la monitorización SQL Server y entornos de Azure SQL Database. Ofrece supervisión de todo el parque, alertas y paneles personalizables, funciones de generación de informes detallados e integración con otras herramientas de Redgate.

puerta roja SQL Server Monitorización

SolarWinds SQL Server Herramienta de monitoreo

Los vientos solares SQL Server La herramienta de monitoreo, también conocida como SQL Sentry, está diseñada para diagnosticar, resolver y prevenir problemas graves de rendimiento con SQL Server.

SolarWinds SQL Server Herramienta de monitoreo

IDERA SQL Server Herramienta de seguimiento del rendimiento

Diagnóstico SQL IDERAostic Manager es un poderoso SQL Server herramienta de monitoreo del desempeño diseñada para ayudar con el monitoreo proactivo del desempeño, diagnósticoostics y puesta a punto.

IDERA SQL Server Herramienta de seguimiento del rendimiento

Monitoreo SQL del Administrador de Aplicaciones

El Administrador de aplicaciones ofrece Microsoft SQL Server Herramienta de seguimiento que proporciona soluciones informáticas útiles. Está diseñado para supervisar el rendimiento de las bases de datos SQL y, al mismo tiempo, identificar errores y resolver problemas que podrían provocar paradas en las operaciones de una organización.

Monitoreo SQL del Administrador de Aplicaciones

8.3 Herramientas de monitoreo de código abierto

DBA Dash

DBA Dash es una herramienta de monitoreo gratuita y de código abierto que brinda información sobre SQL Server Estado, rendimiento y actividad. Es especialmente útil para entornos pequeños y medianos e incluye comprobaciones diarias de DBA, monitorización del rendimiento y seguimiento de la configuración.

SQLWATCH

SQLWATCH ofrece análisis descentralizado y casi en tiempo real. SQL Server Monitoreo con granularidad de 5 segundos para capturar picos de carga de trabajo. Es compatible con Grafana para paneles en tiempo real y Power BI para análisis exhaustivos. La herramienta ofrece amplias opciones de configuración, cero mantenimiento y escalabilidad ilimitada.

Operador

Desarrollado por Stack Exchange, Opserver monitorea múltiples sistemas, incluidos SQL ServerRedis y Elasticsearch. Ofrece una vista de todos los servidores para estadísticas de CPU, memoria, red y hardware en toda su infraestructura.

sp_QuiénEstáActivo

sp_WhoIsActive es un procedimiento almacenado integral de monitorización de actividad creado por Adam Machanic. Funciona con todos los... SQL Server versiones desde 2005 hasta las versiones actuales y es ampliamente utilizado por SQL Server DBAs para monitorización de actividad en tiempo real.

Para utilizar sp_WhoIsActive, descárguelo de http://whoisactive.com/, instálelo en su base de datos y ejecute:

EXEC sp_WhoIsActive

El procedimiento muestra las consultas que se están ejecutando actualmente, la información de espera, los detalles de bloqueo y el consumo de recursos.

9. Mejores prácticas para SQL Server monitor de rendimiento

9.1 Establecimiento de líneas de base de desempeño

Las líneas de base de rendimiento establecen parámetros operativos normales para su SQL Server Entorno. Sin líneas de base, no se puede determinar si las métricas actuales indican problemas o representan un comportamiento típico.

Crear líneas base mediante:

  1. Recopilación de datos de rendimiento durante las operaciones normales durante al menos una semana
  2. Captura de métricas tanto en horas punta como en horas valle
  3. Documentación de valores típicos para contadores clave
  4. Registrar variaciones estacionales si correspondecable
  5. Almacenamiento de datos de referencia para compararlos con métricas futuras

Actualice las líneas de base trimestralmente o después de cambios significativos en la infraestructura, actualizaciones de aplicaciones o modificaciones de bases de datos.

9.2 Establecer umbrales de alerta adecuados

Configure umbrales inteligentes para recibir alertas significativas sin abrumarse con notificaciones:

  • Concesiones de memoria pendientes > 0 indica presión de memoria
  • Una longitud de cola del procesador > 2 por núcleo sugiere un cuello de botella en la CPU
  • Disco seg/Lectura o escritura > 20 ms indica E/S lenta
  • Procesos bloqueados > 5 señales de problemas de contención
  • La expectativa de vida de la página < 300 segundos indica presión de memoria

Ajuste los umbrales según sus datos de referencia y las características específicas de la carga de trabajo. Utilice umbrales adaptativos que tengan en cuenta las variaciones normales de su entorno.

9.3 Revisión y análisis periódicos de datos

Programe revisiones de desempeño periódicas para identificar tendencias y problemas emergentes:

  • Diariamente: revise métricas de alto nivel y alertas recientes
  • Semanal: Realizar un análisis profundo de las tendencias de rendimiento.
  • Mensualmente: Genere informes completos y compárelos con las líneas de base
  • Trimestral: Revisión de la planificación de la capacidad y las tendencias a largo plazo

Documente los hallazgos y realice un seguimiento de las mejoras del rendimiento a lo largo del tiempo.

9.4 Equilibrio de los gastos generales de monitorización

El monitoreo en sí mismo consume recursos, por lo que es necesario equilibrar la recopilación de datos con el impacto en el rendimiento:

  • Utilice intervalos de 30 a 60 segundos para una monitorización continua.
  • Utilice intervalos de 15 segundos solo para la resolución de problemas activa
  • Limitar la duración del conjunto de recopiladores de datos para evitar datos excesivos
  • Almacenar registros en unidades separadas de los archivos de base de datos
  • Archivar datos de rendimiento antiguos para mantener tamaños de archivos manejables

El Monitor de rendimiento agrega una sobrecarga mínima cuando se configura correctamente, generalmente menos del 2 % de los recursos del sistema.

9.5 Retención de datos a largo plazo

Conserve datos de rendimiento para realizar análisis de tendencias significativos y planificar la capacidad:

  • Conserve al menos 1 o 2 años de datos de rendimiento
  • Archivar datos en un almacenamiento separado después de 3 a 6 meses
  • Comprimir archivos de registro antiguos para ahorrar espacio
  • Documentar cualquier evento o cambio significativo que afecte el rendimiento.

Dado el tamaño relativamente pequeño de los datos del contador de rendimiento, conservarlos indefinidamente suele ser factible y valioso para el análisis a largo plazo.

9.6 Integración con prácticas de DevOps

Incorpore la supervisión del rendimiento de la base de datos en las canalizaciones de CI/CD:

  • Incluir métricas de rendimiento de la base de datos en la validación de la implementación
  • Automatizar las pruebas de rendimiento para nuevas versiones
  • Validar que los cambios de código no afecten negativamente el rendimiento
  • Crear puntos de referencia de rendimiento para cada versión
  • Integrar alertas de monitoreo con sistemas de gestión de incidentes

10. Solución de problemas comunes de rendimiento

10.1 Identificación de cuellos de botella de la CPU

Los cuellos de botella de la CPU se manifiestan como tiempos de respuesta lentos a las consultas y una alta utilización del procesador. Siga estos pasos para diagnosticar problemas de la CPU:

  1. Verifique el contador de longitud de cola del procesador. Los valores superiores a 2 por núcleo indican presión sobre la CPU.
  2. Revisar el % de tiempo de procesamiento. Valores constantes superiores al 75 % sugieren un cuello de botella en la CPU.
  3. Escritorio remoto al SQL Server
  4. Abrir el Administrador de tareas (Ctrl+Shift+Esc)
  5. Haga clic en la pestaña Procesos . Puede
  6. Comprobar Mostrar procesos de todos los usuarios
  7. Haga clic en la pestaña CPU encabezado de columna para ordenar por uso de CPU
  8. Identificar qué procesos consumen recursos de la CPU

Si no-SQL Server Las aplicaciones consumen una cantidad considerable de CPU; elimínelas del servidor de bases de datos. Si sqlservr.exe consume mucha CPU, investigue con estos métodos:

  • Verifique las compilaciones y recompilaciones de SQL por segundo. Valores superiores al 10 % de las solicitudes por lote por segundo indican una compilación excesiva.
  • Consulte sys.dm_exec_query_stats para identificar consultas que hacen un uso intensivo de la CPU
  • Revisar los planes de ejecución para detectar índices faltantes u operaciones ineficientes
  • Considere agregar índices para reducir los escaneos de tablas

10.2 Diagnóstico de problemas de memoria

Los problemas de memoria tienen un impacto significativo SQL Server Rendimiento. Diagnostique problemas de memoria utilizando estos indicadores:

Gotas de memoria disponibles

Si los MBytes disponibles caen por debajo de 100 MB de manera constante, el sistema operativo enfrenta problemas de memoria.tarvación. Windows puede salir de la página SQL Server memoria al disco, lo que provoca una degradación del rendimiento.

Baja expectativa de vida de la página

Una expectativa de vida de página inferior a 300 segundos indica una alta rotación de la caché del búfer. Esto sugiere una asignación de memoria insuficiente o una presión excesiva de memoria por parte de las consultas.

Baja tasa de aciertos en la caché de búfer

Una tasa de aciertos del caché de búfer inferior al 99 % significa SQL Server Con frecuencia lee datos del disco en lugar de la memoria. Esto ocurre cuando el grupo de búferes es demasiado pequeño o SQL Server Todavía se está calentando después de la restart.

Concesiones de memoria pendientes

Cualquier valor superior a 0 en "Concesiones de memoria pendientes" indica que las consultas están esperando concesiones de memoria. Esto representa una escasez crítica de memoria que requiere atención inmediata.

Para resolver problemas de memoria:

  1. Configurar SQL Server Configuración de memoria máxima para dejar suficiente RAM para el sistema operativo (normalmente entre 4 y 8 GB, dependiendo del tamaño del servidor)
  2. Habilitar el permiso “Bloquear páginas en la memoria” para SQL Server cuenta de servicio
  3. Agregue más RAM física al servidor si la presión de memoria persiste
  4. Identificar y optimizar consultas que consumen mucha memoria

10.3 Solución de problemas de E/S de disco

La E/S de disco se convierte con frecuencia en el principal cuello de botella de rendimiento en los sistemas de bases de datos. Diagnostique problemas de disco con estos métodos:

Longitud de cola de disco alta

Una longitud de cola de discos consistentemente superior a 2 (o 2 por disco en RAID) indica que el subsistema de discos no puede gestionar las solicitudes de E/S. Esto genera una acumulación de operaciones pendientes.

Latencia excesiva del disco

Valores promedio de segundos de disco/lectura y de segundos de disco/escritura superiores a 10-20 ms indican una respuesta lenta del disco. Las unidades de registro de transacciones requieren un rendimiento especialmente rápido, idealmente inferior a 5 ms para las escrituras.

Alto porcentaje de tiempo de disco

Un porcentaje de tiempo de disco sostenido superior al 85 % indica saturación del disco. El disco gasta most de su tiempo procesando solicitudes de E/S con poca capacidad inactiva restante.

Antes de abordar los problemas del disco, verifique que no sean síntomas de problemas de memoria. La memoria insuficiente obliga SQL Server para leer más datos del disco, inflando artificialmente las métricas del disco.

Para resolver problemas genuinos de E/S de disco:

  • Actualice a discos más rápidos (SSD en lugar de HDD)
  • Implementar configuraciones RAID para un mejor rendimiento
  • Separe los archivos de base de datos, los registros de transacciones y tempdb en diferentes unidades físicas
  • Agregue más memoria para reducir las lecturas del disco
  • Optimizar los índices para reducir la E/S innecesaria
  • Revisar y optimizar las consultas de bajo rendimiento

10.4 Abordar bloqueos y puntos muertos

El bloqueo se produce cuando una sesión mantiene bloqueos que impiden que otras sesiones continúen. Monitoree estos contadores para identificar problemas de bloqueo:

  • Procesos bloqueados: Idealmente debería ser 0
  • Esperas de bloqueo/seg: Número de solicitudes de bloqueo que requieren esperas
  • Tiempo de espera promedio: Duración media de las esperas de bloqueo

Para investigar el bloqueo:

  1. Monitor de actividad abierta en SSMS
  2. Ampliar la opción Procesos .
  3. Busque procesos con valores distintos de cero Bloqueado por valores
  4. Identificar el ID de la sesión de bloqueo
  5. Revisar las consultas que causan bloqueos

Utilice sp_WhoIsActive para un análisis de bloqueo más detallado. Un exceso de entradas wait_info suele indicar problemas de contención o bloqueo en tempdb.

Para reducir el bloqueo:

  • Minimizar la duración de las transacciones
  • Utilice niveles de aislamiento adecuados
  • Añadir índices para reducir la duración del bloqueo
  • Considere el aislamiento READ_COMMITTED_SNAPSHOT
  • Revisar y optimizar consultas de larga duración

10.5 Problemas de rendimiento de las consultas

Identificar consultas costosas es esencial para la monitorización del rendimiento de SQL. Utilice estos métodos para encontrar consultas problemáticas:

Uso del Monitor de actividad

  1. En SSMS, haga clic derecho en el nombre del servidor
  2. Seleccione Activity Monitor
  3. Expandir Consultas costosas recientes
  4. Revisar consultas con alto consumo de CPU, duración o lecturas lógicas

Uso del DMV

Consulte sys.dm_exec_query_stats para identificar consultas que consumen muchos recursos:

SELECT TOP 50
    total_worker_time/execution_count AS avg_cpu_time,
    total_logical_reads/execution_count AS avg_logical_reads,
    execution_count,
    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
        ((CASE qs.statement_end_offset
            WHEN -1 THEN DATALENGTH(qt.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) qt
ORDER BY total_worker_time DESC

Análisis de planes de ejecución

  1. En SSMS, abra una nueva ventana de consulta
  2. Haga clic en Mostrar plan de ejecución estimado (Ctrl+L) o Incluir plan de ejecución real (Ctrl+M)
  3. Ejecutar su consulta
  4. Revisar el plan de ejecución para operaciones costosas
  5. Busque escaneos de tablas, escaneos de índices o high-cost optimizar las operaciones

Optimizar las consultas mediante:

  • Agregar índices apropiados
  • Reescribir consultas para evitar operaciones costosas
  • Actualización de estadísticas
  • Usar nombres de columnas específicos en lugar de SELECT *
  • Cómo evitar cláusulas DISTINCT u ORDER BY innecesarias

10.6 Detectar y reparar bases de datos corruptas

La corrupción en las bases de datos puede causar degradación del rendimiento, pérdida de datos y fallos del sistema. Detectar y abordar la corrupción rápidamente es fundamental para mantener la salud de las bases de datos.

Indicadores de corrupción de bases de datos

Esté atento a estas señales de posible corrupción:

  • Mensajes de error en SQL Server registro de errores (error 823, 824 o 825)
  • Errores de aplicación inesperados al acceder a tablas específicas
  • Rendimiento de consultas lento en consultas que antes eran rápidas
  • SQL Server Fallos o resultados inesperadostarts
  • Páginas sospechosas que aparecen en la tabla msdb.dbo.suspect_pages

Uso de DBCC CHECKDB para la detección

DBCC COMPROBARDB Es la herramienta principal para detectar la corrupción de bases de datos. Ejecútela regularmente para detectar problemas a tiempo.

Monitoreo de páginas sospechosas

SQL Server registra automáticamente las páginas sospechosas en la base de datos msdb:

SELECT 
    database_id,
    file_id,
    page_id,
    event_type,
    error_count,
    last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)

Cualquier fila devuelta indica problemas de corrupción que requieren atención inmediata.

Estrategias de prevención de la corrupción

  • Habilitar la verificación de página con la opción CHECKSUM
  • Mantener copias de seguridad periódicas de la base de datos
  • Utilice hardware confiable con corrección de errores
  • Supervisar el estado del disco mediante herramientas del fabricante
  • Programe ejecuciones regulares de DBCC CHECKDB
  • Guardar SQL Server actualizado con los últimos parches

Opciones de recuperación y reparación

Si se detectan corrupciones, puede probar la herramienta incorporada DBCC COMPROBARDB para solucionarlos. Si falla, utilice herramientas de terceros como DataNumen SQL Recovery que puede hacer frente a corrupciones severas.

11. Técnicas avanzadas de monitoreo

11.1 Monitoreo del almacén de consultas

Query Store, introducido en SQL Server 2016, captura automáticamente datos de rendimiento de consultas. Proporciona información valiosa sobre el comportamiento de las consultas, los planes de ejecución y las tendencias de rendimiento.

Habilitación del almacén de consultas

  1. En el Explorador de objetos de SSMS, haga clic con el botón derecho en una base de datos
  2. Seleccione Propiedades
  3. Haga clic en la pestaña Almacén de consultas página
  4. In Modo de operación (Solicitado), seleccione Leer escribir
  5. Configure ajustes adicionales según sea necesario
  6. Haga clic en OK

Supervisión del rendimiento de las consultas

Acceda a los informes de Query Store a través del Explorador de objetos:

  1. Expandir la base de datos en el Explorador de objetos
  2. Expandir Almacén de consultas
  3. Seleccione entre los informes disponibles:
    • Consultas regresivas
    • Consumo total de recursos
    • Consultas que consumen más recursos
    • Consultas con planes forzados
    • Consultas rastreadas

Detección de regresión del plan

El Almacén de Consultas detecta automáticamente cuándo cambian los planes de ejecución de consultas y se reduce el rendimiento. Revise el informe de Consultas Regresadas para identificar las consultas afectadas por los cambios en el plan.

Gestión de planes forzados

Cuando Query Store identifica un mejor plan de ejecución, fuerza SQL Server Para usarlo:

  1. Abra la consulta en Query Store
  2. Haga clic derecho en el plan deseado
  3. Seleccione Plan de fuerza

Esto mejora inmediatamente el rendimiento sin necesidad de realizar cambios en el código.

11.2 Monitoreo del mantenimiento del índice

La fragmentación del índice reduce el rendimiento de las consultas con el tiempo. Supervise y mantenga los índices periódicamente para garantizar un rendimiento óptimo.

Comprobación de fragmentación

Utilice esta consulta para comprobar la fragmentación del índice:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_fragmentation_in_percent,
    ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
    AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC

Ejecute esta consulta durante horas de menor actividad, ya que puede consumir muchos recursos.

Análisis de densidad de páginas

La densidad de página indica el nivel de llenado de las páginas de índice. Una densidad baja desperdicia espacio y reduce el rendimiento.

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75

Decisiones de reorganización vs. reconstrucción

Elija operaciones de mantenimiento de índice según los niveles de fragmentación:

  • Fragmentación 10-30%: utilizar ALTER INDEX REORGANIZE
  • Fragmentación > 30%: utilizar ALTER INDEX REBUILD
  • Fragmentación < 10%: No se requiere ninguna acción

Las operaciones de reorganización requieren menos recursos y pueden ejecutarse en línea. Las operaciones de reconstrucción son más exhaustivas, pero consumen una cantidad considerable de recursos.

11.3 Actualizaciones de estadísticas de la base de datos

Ayuda con las estadísticas de la base de datos SQL ServerEl optimizador de consultas crea planes de ejecución eficientes. Las estadísticas obsoletas provocan un rendimiento deficiente de las consultas.

Reconstrucción automática de estadísticas

Habilitar actualizaciones automáticas de estadísticas:

ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON

Monitoreo de estadísticas de salud

Compruebe cuándo se actualizaron las estadísticas por última vez:

SELECT 
    OBJECT_NAME(s.object_id) AS TableName,
    s.name AS StatisticsName,
    STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
    sp.rows,
    sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated

Actualice las estadísticas manualmente cuando sea necesario:

UPDATE STATISTICS TableName WITH FULLSCAN

11.4 Recopilación de datos de rendimiento personalizados

Cree soluciones de monitoreo de rendimiento personalizadas consultando sys.dm_os_performance_counters directamente y almacenando los resultados en tablas.

Creación de scripts de colección personalizados

Cree un procedimiento almacenado para recopilar datos del contador de rendimiento:

CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
    INSERT INTO dbo.PerformanceHistory (
        SampleTime,
        CounterName,
        CounterValue
    )
    SELECT 
        GETDATE(),
        counter_name,
        cntr_value
    FROM sys.dm_os_performance_counters
    WHERE counter_name IN (
        'Page life expectancy',
        'Batch Requests/sec',
        'Buffer cache hit ratio'
    )
END

Uso de sys.dm_os_performance_counters

Consultar contadores de rendimiento directamente:

SELECT 
    object_name,
    counter_name,
    instance_name,
    cntr_value,
    cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name

Almacenamiento de datos históricos

Cree una tabla para almacenar métricas de rendimiento a lo largo del tiempo:

CREATE TABLE dbo.PerformanceHistory (
    ID INT IDENTITY PRIMARY KEY,
    SampleTime DATETIME2 NOT NULL,
    PageLifeExpectancy BIGINT,
    BatchRequestsPerSec DECIMAL(18,4),
    BufferCacheHitRatio DECIMAL(5,2)
)

CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory 
ON dbo.PerformanceHistory

Métodos de almacenamiento de datos pivotados

Almacene datos en formato pivotado con una fila por tiempo de muestra y una columna por contador. Esto reduce el espacio de almacenamiento y mejora el rendimiento de las consultas en comparación con el almacenamiento de una fila por contador por muestra.

11.5 Monitoreo de múltiples servidores

Para entornos con múltiples SQL Server instancias, implementar un monitoreo centralizado.

Enfoque de monitoreo centralizado

  • Cree una base de datos de monitoreo dedicada en un servidor separado
  • Recopilar datos de todos los servidores en el repositorio central
  • Usa SQL Server Trabajos de agente para ejecutar scripts de recopilación
  • Implementar la recopilación de contadores de rendimiento accesibles desde la red

Monitoreo remoto del servidor

Configure el Monitor de Rendimiento para recopilar datos de servidores remotos especificando los nombres de los servidores al agregar contadores. Asegúrese de que las reglas del firewall permitan el tráfico del Monitor de Rendimiento.

Informes entre servidores

Genere informes que comparen el rendimiento de varios servidores para identificar valores atípicos y desequilibrios de capacidad.

12. Supervisión SQL Server en entornos de nube

12.1 Supervisión de bases de datos SQL de Azure

Azure SQL Database proporciona capacidades de supervisión integradas que difieren de las locales. SQL Server.

Integración de Azure Monitor

Azure Monitor recopila automáticamente métricas de Azure SQL Database, incluidas:

  • Utilización de DTU o vCore
  • el uso del almacenamiento
  • Estadísticas de conexión
  • Interbloqueos y tiempos de espera

Acceda a estas métricas a través del Portal de Azure o la API de Azure Monitor.

Funciones de monitoreo integradas

La base de datos SQL de Azure incluye:

  • Recomendaciones de ajuste automático
  • Información sobre el rendimiento de las consultas
  • Información inteligente para la detección de anomalías
  • Alertas y diagnósticos integradosostics

Información sobre el rendimiento de las consultas

Esta función permite visualizar las consultas que consumen más recursos, analizar su duración y consultar tendencias históricas de rendimiento. Acceda a ella a través del Portal de Azure, en su recurso de SQL Database.

12.2 Herramientas de monitorización nativas de la nube

Las plataformas en la nube ofrecen soluciones de monitoreo nativas optimizadas para sus entornos:

  • Azure Monitor y Application Insights para Azure SQL Database
  • AWS CloudWatch para RDS SQL Server
  • Monitoreo de Google Cloud para la nube SQL Server

Estas herramientas se integran perfectamente con la infraestructura de la nube y brindan una supervisión unificada de todos los recursos de la nube.

Monitoreo del entorno híbrido

Para implementaciones híbridas que abarcan instalaciones locales y en la nube, utilice herramientas que admitan ambos entornos, como Redgate SQL Monitor, SolarWinds DPA o soluciones personalizadas que utilicen la recopilación de datos centralizada.

12.3 Diferencias de rendimiento en la nube

Cloud SQL Server Los entornos tienen características únicas:

Modelos de asignación de recursos

Los proveedores de nube utilizan diferentes métodos de asignación de recursos (DTU, núcleos virtuales, sin servidor) que afectan la interpretación de las métricas de rendimiento. Comprenda las limitaciones y características de su nivel de servicio.

Consideraciones de escala

Los entornos de nube ofrecen capacidades de escalado dinámico. Monitoree el uso de recursos para determinar cuándo aumentar o reducir la escala. Muchas plataformas de nube ofrecen escalado automático basado en umbrales de rendimiento.

13. Automatización de la supervisión del rendimiento

13.1 SQL Server Empleos de agente

Automatizar la recopilación de datos utilizando SQL Server Trabajos de agente para una monitorización consistente sin intervención manual.

Recopilación de datos programada

  1. En SSMS, expandir SQL Server Agente
  2. Haga clic con el botón Ofertas de empleo y seleccione Nuevo trabajo
  3. Nombra el trabajo (por ejemplo, “Recopilar métricas de rendimiento”)
  4. Haga clic en pasos y añadir un nuevo paso
  5. Establecer tipo en secuencia de comandos Transact-SQL
  6. Ingrese su script de recopilación de datos
  7. Haga clic en Horarios y añadir un horario
  8. Configurar la frecuencia (por ejemplo, cada 5 minutos)
  9. Haga clic en OK Para crear el trabajo

Reportes automatizados

Cree trabajos que generen y envíen por correo electrónico informes de rendimiento:

  1. Crear un procedimiento almacenado que genere informes
  2. Utilice Database Mail para enviar informes por correo electrónico
  3. Programe el trabajo para que se ejecute diariamente o semanalmente

13.2 Automatización de PowerShell

PowerShell proporciona potentes capacidades de automatización para SQL Server monitor de rendimiento.

Scripts de recopilación de contadores de rendimiento

$counters = @(
    '\Processor(_Total)\% Processor Time',
    '\Memory\Available MBytes',
    '\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)

$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append

Consultas WMI

Utilice WMI para recopilar datos de rendimiento de servidores remotos:

$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01'
$memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01'

Write-Host "CPU Usage: $($cpu.LoadPercentage)%"
Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"

Alertas automatizadas

Cree scripts de PowerShell que verifiquen las métricas y envíen alertas cuando se superen los umbrales:

$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue

if ($cpu -gt $cpuThreshold) {
    Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
        -Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}

13.3 Creación de paneles de monitoreo

Visualice datos de rendimiento con paneles interactivos para obtener mejores perspectivas.

Integración de Power BI

  1. Conecte Power BI a sus tablas de datos de rendimiento
  2. Crear visualizaciones para métricas clave
  3. Agregar segmentaciones para rango de tiempo y selección de servidor
  4. Publicar paneles en el servicio Power BI
  5. Configurar programaciones de actualización automática

Creación de paneles de control en tiempo real

Utilice herramientas como Grafana o aplicaciones web personalizadas para crear paneles de control en tiempo real que consulten DMV y contadores de rendimiento directamente.

Visualización de tendencias históricas

Construya gráficos de líneas que muestren tendencias a lo largo del tiempo para:

  • Utilización de la CPU
  • Uso de memoria
  • E / S de disco
  • Rendimiento de la consulta
  • Contador de conexiones

14. Estudios de casos y ejemplos prácticos

14.1 Caso práctico: Resolver la presión de la memoria

Identificación de síntomas

Una producción SQL Server Se experimentaron tiempos de respuesta lentos a las consultas durante las horas punta. Los usuarios se quejaron de tiempos de espera de las aplicaciones y un rendimiento reducido.

Análisis de contraataque

Los datos del Monitor de Rendimiento revelaron:

  • La esperanza de vida de la página se redujo a 50 segundos (normal: >300)
  • La tasa de aciertos del caché de búfer cayó al 85 % (normal: >99 %)
  • Las concesiones de memoria pendientes mostraron con frecuencia valores de 5 a 10
  • Las lecturas de disco físico por segundo aumentaron significativamente

Pasos de resolución

  1. comprobado SQL Server Configuración de memoria máxima: se descubrió que estaba configurada como predeterminada (ilimitada)
  2. Memoria total del servidor revisada vs. TarObtener memoria del servidor: mostró una brecha significativa
  3. Se configuró la memoria máxima del servidor para dejar 8 GB para el sistema operativo
  4. Se habilitó el permiso “Bloquear páginas en la memoria” para SQL Server cuenta de servicio
  5. Se agregaron 32 GB de RAM adicionales al servidor
  6. Rendimiento monitoreado durante una semana: la expectativa de vida de la página se estabilizó por encima de los 500 segundos

Resultado: Los tiempos de respuesta de las consultas mejoraron en un 60%, las quejas de los usuarios cesaron y el rendimiento de la aplicación volvió a la normalidad.

14.2 Caso práctico: Optimización del rendimiento de la CPU

Identificación de síntomas

A SQL Server mostró constantemente una utilización de la CPU superior al 90% durante el horario comercial, lo que provocaba un rendimiento lento de las aplicaciones y frustración del usuario.

Análisis de contraataque

El monitoreo del desempeño reveló:

  • El tiempo promedio del procesador fue del 92% con picos frecuentes al 100%.
  • La longitud de la cola del procesador se mantuvo consistentemente por encima de 4 (el servidor tenía 8 núcleos)
  • Las compilaciones de SQL por segundo fueron el 25 % de las solicitudes por lotes por segundo (debería ser <10 %)
  • Las recompilaciones de SQL por segundo representaron el 15 % de las solicitudes por lotes por segundo.

Pasos de resolución

  1. Se utilizaron DMV para identificar las consultas que más consumen CPU
  2. Analizó los planes de ejecución para las consultas identificadas
  3. Se descubrieron múltiples escaneos de tablas en tablas grandes debido a índices faltantes
  4. Creó índices apropiados según las recomendaciones del plan de ejecución
  5. Se identificó SQL dinámico que causa compilaciones excesivas
  6. Código de aplicación modificado para utilizar consultas parametrizadas
  7. Guía de plan implementada para procedimientos almacenados problemáticos
  8. Estadísticas actualizadas sobre tablas muy utilizadas

Resultado: El uso de la CPU se redujo a un promedio del 45 % durante el horario laboral. Los tiempos de ejecución de consultas mejoraron un 70 %. La capacidad de respuesta de las aplicaciones mejoró significativamente.

14.3 Caso práctico: Resolución de cuellos de botella de E/S de disco

Identificación de síntomas

Los usuarios informaron que la respuesta de la aplicación era extremadamente lenta durante las operaciones de carga de datos y el procesamiento por lotes nocturno.

Análisis de contraataque

Los datos de rendimiento mostraron:

  • El tiempo promedio de escritura en disco superó los 45 ms en la unidad de registro de transacciones.
  • La longitud promedio de la cola de disco en la unidad de archivos de datos fue de 12
  • El % del tiempo de disco se mantuvo por encima del 95 % durante horas durante trabajos por lotes
  • Las escrituras de página por segundo fueron excepcionalmente altas

Pasos de resolución

  1. La configuración de memoria verificada era apropiada: no se encontraron problemas de memoria.
  2. Configuración del disco analizada: se descubrieron todos los archivos en el mismo conjunto de husillos
  3. Registros de transacciones separados en unidades SSD rápidas y dedicadas
  4. Se movió tempdb a unidades SSD separadas
  5. Se implementaron múltiples archivos de datos tempdb (uno por núcleo)
  6. Unidades de archivos de datos actualizadas a configuración SSD RAID 10
  7. Trabajos por lotes optimizados para utilizar lotes de transacciones más pequeños
  8. Se agregaron índices para reducir los escaneos de tablas innecesarios durante las operaciones por lotes

Resultado: El tiempo promedio de escritura en disco se redujo a 3 ms. La longitud promedio de la cola de disco se redujo a menos de 1. El tiempo de finalización de los trabajos por lotes se redujo en un 75 %.

15. Tendencias futuras en SQL Server Monitoring

15.1 Integración de IA y aprendizaje automático

La inteligencia artificial y el aprendizaje automático están transformando SQL Server monitor de rendimiento.

Análisis Predictivo

Los modelos de aprendizaje automático predicen las necesidades futuras de recursos basándose en datos históricos. Estos sistemas pueden pronosticar:

  • Cuándo se agotará la capacidad de almacenamiento
  • Requisitos esperados de CPU y memoria durante los períodos pico
  • Degradación del rendimiento de las consultas antes de que afecte a los usuarios
  • Momentos óptimos para operaciones de mantenimiento

Anomaly Detection

Las herramientas basadas en IA detectan automáticamente patrones inusuales en las métricas de rendimiento. Identifican anomalías que los administradores humanos podrían pasar por alto y distinguen entre variaciones normales y problemas reales.

Remediación automatizada

Los sistemas de autocuración resuelven automáticamente los problemas comunes cuando se detectan:

  • Restart servicios que se han detenido
  • Reasignar recursos durante los picos de carga
  • Aplicar revisiones para problemas conocidos
  • Reconstruir índices fragmentados automáticamente

15.2 Evolución de la monitorización basada en la nube

La monitorización de la nube continúa evolucionando con nuevas capacidades.

Plataformas de monitoreo unificadas

Las plataformas modernas proporcionan visibilidad desde un único panel en:

  • On-premises SQL Server instancias
  • Nube-hostbases de datos ed
  • Entornos híbridos
  • Rendimiento de la aplicación
  • Métricas de infraestructura

Tendencias de observabilidad

El paso del monitoreo a la observabilidad enfatiza:

  • Comprender el comportamiento del sistema a partir de las salidas
  • Correlación de métricas, registros y seguimientos
  • Conocimientos profundos sobre sistemas distribuidos
  • Diagnóstico de problemas en tiempo real

15.3 Sistemas de bases de datos autorreparables

Futuro SQL Server Las versiones incluirán más capacidades autónomas.

Optimizacion Automatica

Las bases de datos se optimizarán continuamente mediante:

  • Creación y eliminación automática de índices según la carga de trabajo
  • Ajustar la configuración para un rendimiento óptimo
  • Reescritura de consultas ineficientes de forma transparente
  • Gestión dinámica de la asignación de recursos

Sintonización inteligente

Los sistemas avanzados aprenderán de los patrones de rendimiento y aplicarán recomendaciones de ajuste automáticamente, lo que reducirá la necesidad de intervención manual del DBA.

16. Conclusión y puntos clave

16.1 Resumen de prácticas esenciales de monitoreo

Eficaz SQL Server El monitor de rendimiento requiere un enfoque integral que combine herramientas, técnicas y mejores prácticas.

Resumen de contadores críticos

Centrar los esfuerzos de seguimiento en estos factores esenciales:

  • Memoria: Expectativa de vida de la página, Tasa de aciertos de caché de búfer, Concesiones de memoria pendientes
  • CPU: % de tiempo de procesador, longitud de cola del procesador
  • Disco: Promedio de segundos de disco/lectura y escritura, longitud de la cola del disco
  • SQL Server: Solicitudes por lotes/seg, Compilaciones/seg, Conexiones de usuario

Resumen de las mejores prácticas

  • Establecer líneas de base durante las operaciones normales
  • Establezca umbrales de alerta inteligentes basados ​​en líneas de base
  • Revise periódicamente los datos de rendimiento
  • Supervisión del equilibrio de gastos generales con granularidad de datos
  • Conservar datos a largo plazo para el análisis de tendencias
  • Utilice herramientas adecuadas para cada escenario de monitoreo

16.2 Enfoque de mejora continua

SQL Server El monitoreo del desempeño no es una actividad que se realiza una sola vez, sino un proceso continuo que requiere un perfeccionamiento continuo.

Ciclos de revisión regulares

  • Diariamente: Consulta alertas y rendimiento actual
  • Semanal: Revisar tendencias e identificar problemas emergentes
  • Mensualmente: Analizar patrones a largo plazo y necesidades de capacidad.
  • Trimestral: Actualizar las líneas de base y revisar la eficacia del monitoreo

Mantenerse actualizado con las herramientas

Mantenga las herramientas y técnicas de monitoreo actualizadas:

  • Evaluar nuevas funciones de monitoreo en SQL Server <font style="vertical-align: inherit;" class="">actualizaciones sobre los portfolios ilustrativos de Small Caps y de todos los activos</font>
  • Pruebe herramientas emergentes de terceros
  • Asistir a capacitaciones y conferencias
  • Participar en SQL Server foros comunitarios
  • Compartir conocimientos con los miembros del equipo

16.3 pasos siguientes

Implementar SQL Server Monitorizar el rendimiento sistemáticamente:

Hoja de ruta de implementación

  1. Semana 1: Configurar el Monitor de rendimiento con contadores esenciales
  2. Semana 2: Crear conjuntos de recopiladores de datos para la recopilación automatizada
  3. Semana 3: Establecer líneas de base durante las operaciones normales
  4. Semana 4: Configurar alertas para umbrales críticos
  5. Mes 2: Implementar herramientas de monitoreo adicionales (DMV, eventos extendidos)
  6. Mes 3: Desarrollar paneles e informes personalizados
  7. En marcha: Refinar el seguimiento en función de la experiencia y los requisitos cambiantes

Más recursos

Continuar aprendiendo sobre SQL Server Monitorea el rendimiento a través de la documentación de Microsoft, los blogs de la comunidad y la práctica. Experimenta con diferentes herramientas y técnicas para encontrar la que mejor se adapte a tu entorno.

17. Preguntas frecuentes (FAQ)

17.1 ¿Cuáles son los m?ost importante SQL Server ¿Contadores de rendimiento para monitorear?

El most crítico SQL Server Los contadores de rendimiento incluyen:

  • Memoria: expectativa de vida de la página (debe ser >300 segundos) y tasa de aciertos de caché de búfer (debe ser >99%)
  • CPU: % de tiempo de procesador (valores sostenidos <75%) y longitud de cola de procesador (debe ser <2 por núcleo)
  • Disco: Promedio de segundos de disco/lectura y escritura (debe ser <10-20 ms) y longitud de cola de disco (debe ser <2 por disco)
  • SQL Server: Solicitudes por lotes/seg, compilaciones SQL/seg y concesiones de memoria pendientes (debería ser 0)

Estos contadores proporcionan una visión completa del estado del sistema y ayudan a identificar cuellos de botella rápidamente.

17.2 ¿Con qué frecuencia debo recopilar datos de rendimiento?

La frecuencia de recolección depende de sus objetivos de monitoreo:

  • Monitoreo de línea base: cada 1 minuto (60 segundos)
  • Solución de problemas activa: cada 15 a 30 segundos durante períodos cortos
  • Tendencia a largo plazo: cada 5 minutos

Evite ejecutar recopilaciones de alta frecuencia de forma continua, ya que esto puede afectar el rendimiento y generar un exceso de datos. Utilice intervalos más largos para la monitorización rutinaria y intervalos más cortos solo para investigar problemas específicos.

17.3 ¿Cuál es la diferencia entre el Monitor de rendimiento y SQL Server ¿Perfilador?

Monitor de rendimiento y SQL Server Los perfiles sirven para diferentes propósitos:

Performance Monitor:

  • Monitorea el sistema y SQL Server contadores de rendimiento
  • Realiza un seguimiento de la utilización de recursos (CPU, memoria, disco)
  • Gastos generales bajos, adecuados para monitoreo continuo
  • Proporciona métricas agregadas a lo largo del tiempo

SQL Server Perfilador:

  • Rastrea individual SQL Server eventos y consultas
  • Captura información detallada de ejecución de consultas
  • Mayor sobrecarga, no recomendado para uso continuo
  • Ideal para solucionar problemas de consultas específicas
  • Obsoleto en favor de eventos extendidos

Utilice Performance Monitor para la supervisión general del sistema y Extended Events (no Profiler) para un análisis detallado a nivel de consulta.

17.4 ¿Puede el Monitor de Rendimiento tener impacto? SQL Server ¿actuación?

Cuando se configura correctamente, el Monitor de rendimiento tiene un impacto mínimo en SQL Server Rendimiento, generalmente inferior al 2 % de sobrecarga. Sin embargo, una monitorización excesiva puede causar problemas:

  • Demasiados contadores aumentan la sobrecarga
  • Los intervalos de muestra muy cortos (menos de 15 segundos) agotan los recursos
  • La recopilación continua de alta frecuencia genera archivos de registro de gran tamaño

Para minimizar el impacto:

  • Supervisar únicamente los contadores necesarios
  • Utilice intervalos de muestra adecuados (60 segundos para el monitoreo de rutina)
  • Almacenar registros en unidades separadas de los archivos de base de datos
  • Programe una monitorización que consuma muchos recursos durante las horas de menor actividad

17.5 ¿Durante cuánto tiempo debo conservar los datos de monitoreo del rendimiento?

La retención depende de sus necesidades de análisis y capacidad de almacenamiento:

  • Mínimo: 3 meses para solucionar problemas recientes
  • Recomendado: 1-2 años para planificación de capacidad y análisis de tendencias
  • Óptimo: Indefinidamente si el almacenamiento lo permite, ya que los datos históricos se vuelven más valiosos con el tiempo

Los datos del contador de rendimiento se comprimen bien y ocupan relativamente poco espacio. Considere archivar los datos antiguos en un almacenamiento independiente en lugar de eliminarlos. Muchas organizaciones consideran que años de datos históricos resultan invaluables para la planificación de la capacidad y la identificación de tendencias a largo plazo.

17.6 ¿Cuáles son los valores de umbral adecuados para los contadores clave de rendimiento?

Valores umbral recomendados para alerta:

  • Concesiones de memoria pendientes: alerta cuando > 0
  • Esperanza de vida de la página: Alerta cuando < 300 segundos
  • % Tiempo de procesador: Alerta cuando > 80% durante 5 minutos
  • Longitud de la cola del procesador: alerta cuando > 2 por núcleo
  • Promedio de segundos de disco/lectura o escritura: alerta cuando > 20 ms
  • Longitud de la cola de discos: alerta cuando > 2 por disco
  • Procesos bloqueados: alerta cuando > 5

Ajuste estos umbrales según sus datos de referencia y las características específicas de la carga de trabajo. Lo que es normal en un entorno puede indicar problemas en otro.

17.7 ¿Cómo puedo monitorear? SQL Server ¿Rendimiento a distancia?

Monitor remoto SQL Server instancias que utilizan estos métodos:

  1. Performance Monitor: Especifique el nombre de la computadora remota al agregar contadores
  2. Potencia Shell: Utilice el parámetro -ComputerName con Get-Counter
  3. DMV: Conéctese a servidores remotos a través de SSMS y consulte DMV
  4. Herramientas de terceros: Most Las herramientas de monitoreo admiten el monitoreo remoto de servidores.

Asegúrese de que las reglas del firewall permitan el tráfico de Performance Monitor y de que tenga los permisos adecuados en el servidor remoto. Para varios servidores, considere implementar una monitorización centralizada con un servidor de monitorización y una base de datos dedicados.

17.8 ¿Cuál es la mejor herramienta gratuita para SQL Server ¿monitor de rendimiento?

Hay varias herramientas gratuitas excelentes disponibles para monitorear SQL Server actuación:

  • Monitor de rendimiento de Windows: Integrado, completo y confiable
  • Monitor de actividad SSMS: Monitoreo en tiempo real sin instalación adicional
  • Eventos extendidos: Monitoreo de eventos liviano integrado SQL Server
  • sp_QuiénEstáActivo: Procedimiento almacenado gratuito y popular para la monitorización detallada de la actividad
  • Nombre de usuario DBA Dash: Herramienta de monitoreo de código abierto con funciones integrales
  • SQLWATCH: Código abierto con capacidades de monitoreo casi en tiempo real

Para most Organizaciones, Performance Monitor combinado con herramientas SSMS y sp_WhoIsActive proporciona excelentes capacidades de monitoreo sin costos adicionales.ost.

17.9 ¿Cómo exporto datos de PerfMon para su análisis?

Exporte datos del Monitor de rendimiento utilizando estos métodos:

Exportar a CSV:

  1. Abra el Monitor de rendimiento con su archivo de registro cargado
  2. Haga clic derecho en el gráfico y seleccione Guardar datos como
  3. Elija Archivo de texto (delimitado por comas) (.csv)
  4. Seleccionar ubicación y guardar
  5. Abrir en Excel para análisis

Utilice el comando Relog:

relog input.blg -f csv -o output.csv

Esta utilidad de línea de comandos convierte archivos de registro binarios (.blg) al formato CSV para facilitar el análisis en aplicaciones de hojas de cálculo.

17.10 ¿Cuándo debo utilizar herramientas de monitorización de terceros en lugar de las opciones integradas?

Considere herramientas de terceros cuando:

  • Gestión de grandes cantidades de SQL Server instancias (10+)
  • Requiere monitoreo centralizado en múltiples centros de datos
  • Necesita funciones avanzadas como análisis predictivo o detección de anomalías
  • Desea una alerta integrada con los sistemas de gestión de incidentes
  • Exigir informes de cumplimiento y análisis históricos
  • Falta de recursos de DBA para crear y mantener soluciones personalizadas
  • Monitoreo de entornos de bases de datos heterogéneos (SQL Server, Oracle, MySQL, etc.)

Las herramientas integradas son ideales para entornos pequeños o cuando se cuenta con administradores de bases de datos cualificados que pueden desarrollar soluciones de monitorización personalizadas. Las herramientas de terceros ofrecen valor gracias al ahorro de tiempo, las funciones avanzadas y el soporte profesional.

18. Recursos adicionales

18.1 Documentación oficial

Microsoft proporciona una amplia documentación para SQL Server monitor de rendimiento:

18.2 Herramientas y descargas recomendadas

Herramientas esenciales para SQL Server monitor de rendimiento:

  • Herramienta PAL: https://github.com/clinthuffman/PAL
  • sp_QuiénEstáActivo: http://whoisactive.com/
  • Nombre de usuario DBA Dash: https://dbadash.com/
  • SQLWATCH: https://github.com/marcingminski/sqlwatch
  • Kit de primeros auxilios (Brent Ozar): https://www.brentozar.com/first-aid/
  • SQL Server Estudio de gestión: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

18.3 Recursos comunitarios

Aprenda de la SQL Server comunidad:

  • SQL Server Central: https://www.sqlservercentral.com/
  • Blog de Brent Ozar: https://www.brentozar.com/blog/
  • SQL Shack: https://www.sqlshack.com/
  • Consejos de MSSQL: https://www.mssqltips.com/
  • Reddit r/SQLServer: https://www.reddit.com/r/SQLServer/
  • desbordamiento de pila SQL Server tag: https://stackoverflow.com/questions/tagged/sql-server

Estos recursos proporcionan tutoriales, consejos para la resolución de problemas y mejores prácticas de expertos. SQL Server Profesionales. Participar en foros comunitarios te ayuda a aprender de las experiencias de otros y a compartir tus propios conocimientos.


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 Grupos de disponibilidad siempre activos, y desarrollar estrategias automatizadas de respaldo y recuperación para sistemas comerciales de misión crítica.

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.

Comparte ahora: