Introducción a la supervisión y optimización del rendimiento

El objetivo de supervisar bases de datos es evaluar el rendimiento de un servidor. Una supervisión eficaz implica tomar instantáneas periódicas del rendimiento actual para aislar procesos que causan problemas y recopilar datos de forma continua a lo largo del tiempo para realizar el seguimiento de las tendencias de rendimiento. Microsoft SQL Server y el sistema operativo Microsoft Windows proporcionan herramientas que le permiten ver las condiciones actuales de la base de datos y realizar un seguimiento del rendimiento a medida que éstas cambian.

La supervisión de SQL Server permite:

  • Determinar si el rendimiento se puede mejorar. Por ejemplo, al supervisar los tiempos de respuesta a las consultas utilizadas con frecuencia, puede determinar si es necesario cambiar la consulta o los índices de las tablas.

  • Evaluar la actividad de los usuarios. Por ejemplo, al supervisar usuarios que intentan conectarse a una instancia de SQL Server, puede determinar si la seguridad está configurada correctamente y probar las aplicaciones o sistemas de desarrollo. Por ejemplo, al supervisar las consultas SQL mientras se ejecutan, puede determinar si están escritas correctamente y si producen los resultados esperados.

  • Solucionar problemas o depurar componentes de aplicaciones, como procedimientos almacenados.

La supervisión es importante, puesto que SQL Server ofrece un servicio en un entorno dinámico. Los datos de la aplicación cambian. El tipo de acceso que requieren los usuarios cambia. La forma de conexión de los usuarios cambia. Incluso pueden cambiar los tipos de aplicaciones que tienen acceso a SQL Server, pero SQL Server administra automáticamente los recursos en el nivel del sistema, como la memoria y el espacio en disco, por lo que se minimiza la necesidad de optimizar manualmente el sistema. Aun así, la supervisión permite a los administradores identificar las tendencias de rendimiento para determinar si es necesario realizar cambios.

Para supervisar cualquier componente de SQL Server de forma eficaz, siga estos pasos:

  1. Defina los objetivos de supervisión.

  2. Seleccione la herramienta apropiada.

  3. Identifique los componentes que desea supervisar.

  4. Seleccione métricas para dichos componentes.

  5. Supervise el servidor.

  6. Analice los datos.

Estos pasos se tratan más extensamente a continuación.

Defina los objetivos de supervisión

Para supervisar SQL Server de forma eficaz, debe identificar claramente los motivos de la supervisión. Entre los motivos se pueden incluir los siguientes:

  • Establecer una línea de base para el rendimiento.

  • Identificar los cambios del rendimiento a lo largo del tiempo.

  • Diagnosticar problemas de rendimiento concretos.

  • Identificar componentes o procesos para optimizar.

  • Comparar las consecuencias de distintas aplicaciones cliente sobre el rendimiento.

  • Llevar a cabo auditorías de la actividad de los usuarios.

  • Probar un servidor con cargas distintas.

  • Probar la arquitectura de las bases de datos.

  • Probar distintas programaciones de mantenimiento.

  • Probar los planes de copias de seguridad y restauración.

  • Determinar cuándo se ha de modificar la configuración de hardware.

Seleccione la herramienta apropiada

Después de decidir los motivos de la supervisión, debe seleccionar las herramientas adecuadas. El sistema operativo Windows y SQL Server ofrecen un conjunto completo de herramientas para supervisar servidores en entornos con muchas transacciones. Estas herramientas revelan claramente las condiciones de una instancia del motor de base de datos de SQL Server o de una instancia de SQL Server Analysis Services.

Windows ofrece las herramientas siguientes para supervisar aplicaciones que se ejecutan en un servidor:

  • Monitor de sistema, que le permite recopilar y ver datos en tiempo real acerca de actividades como el uso de memoria, de disco y de procesador.

  • Registros y alertas de rendimiento.

  • Administrador de tareas.

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

SQL Server ofrece las herramientas siguientes para supervisar componentes de SQL Server:

  • Traza de SQL

  • SQL Server Profiler

  • Monitor de actividad de SQL Server Management Studio

  • Plan de presentación gráfico de SQL Server Management Studio

  • Procedimientos almacenados

  • Comandos de consola de base de datos (DBCC)

  • Funciones integradas

  • Marcas de traza

Para obtener más información acerca de las herramientas de supervisión de SQL Server, vea Herramientas de supervisión y optimización del rendimiento.

Identifique los componentes que desea supervisar

El tercer paso para supervisar una instancia de SQL Server es identificar los componentes que desea supervisar. Por ejemplo, si utiliza SQL Server Profiler para realizar el seguimiento de un servidor, puede definir el seguimiento para que recopile datos de eventos concretos. También puede excluir eventos que no se apliquen a su situación.

Seleccione métricas para los componentes supervisados

Después de identificar qué componentes va a supervisar, determine las métricas de estos componentes. Por ejemplo, después de seleccionar los eventos que se van a incluir en un seguimiento, puede decidir incluir sólo datos concretos acerca de los eventos. Al limitar el seguimiento a los datos relevantes para el mismo, se minimizan los recursos del sistema necesarios para realizar el seguimiento.

Supervise el servidor

Para supervisar el servidor, ejecute la herramienta de supervisión que ha configurado para recopilar datos. Por ejemplo, después de definir un seguimiento, puede ejecutarlo para recopilar datos acerca de eventos que ocurran en el servidor.

Analice los datos

Una vez haya finalizado la traza, analice los datos para ver si ha alcanzado su objetivo de supervisión. Si no lo ha alcanzado, modifique los componentes o las métricas utilizadas para supervisar el servidor.

A continuación se describe el proceso de captura y uso de datos de eventos.

  1. Aplique filtros para limitar los datos de eventos que va a recopilar.

    Si limita los datos de eventos, permitirá al sistema centrarse en los eventos pertinentes en el escenario de supervisión. Por ejemplo, si desea supervisar consultas lentas, puede utilizar un filtro para supervisar únicamente las consultas emitidas por la aplicación que tarden más de 30 segundos en ejecutarse en una base de datos determinada. Para obtener más información, vea Cómo establecer un filtro de seguimiento (Transact-SQL) y Cómo filtrar eventos en un seguimiento (SQL Server Profiler).

  2. Supervise (capture) eventos.

    Una vez habilitada, la supervisión activa captura datos de la aplicación, la instancia de SQL Server o el sistema operativo especificados. Por ejemplo, cuando se supervisa la actividad de disco mediante el Monitor de sistema, la supervisión captura datos de eventos, como las lecturas y escrituras de disco, y los muestra en pantalla. Para obtener más información, vea Supervisar el uso de recursos (Monitor de sistema).

  3. Guarde los datos de eventos capturados.

    Al guardar datos de eventos capturados, puede analizarlos posteriormente e incluso volverlos a reproducir mediante el SQL Server Profiler. Los datos de eventos capturados se guardan en un archivo que se puede volver a cargar en la herramienta con que se creó para análisis. SQL Server Profiler permite guardar los datos de eventos en una tabla de SQL Server. El almacenamiento de los datos de eventos capturados es importante cuando se crea una línea de base de rendimiento. Los datos de la línea de base de rendimiento se guardan y se utilizan al comparar datos de eventos capturados recientemente a fin de determinar si el rendimiento es óptimo. Para obtener más información, vea Usar el Analizador de SQL Server.

  4. Cree plantillas de traza que contengan la configuración especificada para capturar los eventos.

    Las plantillas de seguimiento incluyen especificaciones acerca de los eventos, los datos de eventos y los filtros que se utilizarán para capturar datos. Puede utilizar estas plantillas para supervisar más tarde un conjunto específico de eventos, sin necesidad de volver a definir los eventos, los datos de los eventos ni los filtros. Por ejemplo, si desea supervisar a menudo el número de interbloqueos y los usuarios implicados en estos interbloqueos, puede crear una plantilla que defina estos eventos, los datos y los filtros de eventos, guardar la plantilla y volver a aplicar el filtro la próxima vez que desee supervisar los interbloqueos. SQL Server Profiler utiliza las plantillas de seguimiento con este fin. Para obtener más información, vea Cómo configurar los valores predeterminados de definición de seguimiento (SQL Server Profiler) y Cómo crear una plantilla de seguimiento (SQL Server Profiler).

  5. Analice los datos de eventos capturados.

    Para analizar los datos de eventos guardados y capturados, es necesario cargarlos en la aplicación con que se capturaron. Por ejemplo, puede volver a cargar un seguimiento capturado de en SQL Server Profiler en este mismo programa para verlo y analizarlo. Para obtener más información, vea Ver y analizar trazas con el Analizador de SQL Server.

    El análisis de los datos de eventos conlleva determinar qué sucede y por qué. Esta información permite realizar cambios para mejorar el rendimiento, como agregar memoria, cambiar índices, corregir problemas de códigos con procedimientos almacenados o instrucciones Transact-SQL, etc., en función del tipo de análisis realizado. Por ejemplo, puede utilizar el Asistente para la optimización de Motor de base de datos para analizar un seguimiento capturado en SQL Server Profiler y hacer recomendaciones de indización basándose en los resultados. Para obtener más información, vea Optimizar el diseño físico de las bases de datos.

  6. Reproduzca los datos de los eventos capturados.

    La reproducción de eventos permite establecer una copia de prueba del entorno de base de datos en el que se capturaron los datos y repetir los eventos capturados tal y como ocurrieron originalmente en el sistema real. Esta capacidad sólo está disponible en SQL Server Profiler. Puede reproducirlos a la velocidad original, a la mayor velocidad posible (para intensificar el uso del sistema) o paso a paso (el tipo de reproducción más frecuente) para analizar el sistema después de que haya ocurrido cada evento. Al analizar los eventos exactos de un entorno de pruebas, puede evitar daños en el sistema de producción. Para obtener más información, vea Reproducir trazas.