Recomendaciones de rendimiento de Database Advisor para Azure SQL Database

Se aplica a:Azure SQL Database

Azure SQL Database comprende su aplicación y se adapta a ella. Azure SQL Database tiene varias instancias de Database Advisor que proporcionan recomendaciones personalizadas que permiten maximizar el rendimiento. Estos asesores de bases de datos evalúan y analizan continuamente el historial de uso, y proporcionan recomendaciones basadas en patrones de carga de trabajo que ayudan a mejorar el rendimiento.

Información general sobre rendimiento

La información general sobre el rendimiento de Azure Portal ofrece un resumen del rendimiento de la base de datos y le ayuda a ajustar su rendimiento y a solucionar problemas.

  • Si está presente, el icono de Recomendaciones proporciona un desglose de recomendaciones de optimización para la base de datos. Al seleccionar este icono, irá a Opciones de recomendaciones de rendimiento.
  • El icono de Tuning activity (Actividad de optimización) proporciona un resumen de las acciones de optimización en curso y finalizadas para la base de datos, lo que le brinda una vista rápida del historial de la actividad de optimización. Si selecciona este icono irá a las recomendaciones y al historial de optimización de la base de datos. Para obtener más información, consulte Ajuste automático.
  • El icono Ajuste automático muestra la configuración de ajuste automático de la base de datos (las opciones de ajuste que se aplican automáticamente a la base de datos). Al seleccionar este icono se abre el cuadro de diálogo de configuración de automatización. Para más información sobre cómo realizar un ajuste automático de los índices de base de datos y consultar los planes de ejecución, consulte Ajuste automático.
  • El icono de Consultas de bases de datos muestra el resumen del rendimiento de consultas de la base de datos (uso general de DTU y consultas que consumen más recursos). Seleccione este icono para acceder a Información de rendimiento de consultas.
  • En el gráfico predeterminado se proporciona un resumen de las últimas 24 horas de actividad de la base de datos, con opciones para ampliar la actividad más reciente. Los gráficos de barras apiladas analizan las consultas principales por CPU y el gráfico de varias líneas representa la carga de trabajo por CPU, E/S de datos y E/S de registro. Seleccione barras apiladas individuales en el gráfico, cada una de las cuales representa un plan de consulta almacenado en caché. Profundice en la página Información de rendimiento de consultas e identifique las consultas más caras de la carga de trabajo. Para obtener más información, consulte Información de rendimiento de consultas.

Vaya a la página Información general sobre el rendimiento en Rendimiento inteligente en el menú de navegación de Azure Portal para la base de datos de Azure SQL.

Screenshot from the Azure portal of the Performance Overview for Azure SQL Database.

Opciones de recomendaciones de rendimiento

Las opciones de recomendaciones de rendimiento disponibles en Azure SQL Database son:

Recomendación de rendimiento Compatibilidad con bases de datos únicas y bases de datos agrupadas Compatibilidad de base de datos de instancia
Recomendaciones Crear índice: recomienda la creación de índices que podrían mejorar el rendimiento de la carga de trabajo. No
Recomendaciones Quitar índice: recomienda la eliminación diaria de los índices duplicados y redundantes, excepto los índices únicos y los que no se han usado durante mucho tiempo (>90 días). Tenga en cuenta que esta opción no es compatible con las aplicaciones que usan sugerencias de índice y conmutación de particiones. No se admite la eliminación de índices sin usar para los niveles de servicio Prémium y Crítico para la empresa. No
Recomendaciones Parametrizar consultas (versión preliminar) : recomienda la parametrización forzada en aquellos casos en que hay una o varias consultas que se recompilan constantemente, pero acaban con el mismo plan de ejecución de consulta. No
Recomendaciones Solucionar problemas de esquema (versión preliminar) : las recomendaciones de corrección de esquema aparecen cuando Azure SQL Database detecta alguna anomalía en el número de errores de SQL relacionados con el esquema que se producen en la base de datos. Microsoft está dejando de usar las recomendaciones de corrección de problemas de esquema. No

A screenshot from the Azure portal showing sample performance recommendations for Azure SQL Database.

Para aplicar las recomendaciones de rendimiento, consulte la sección Aplicación de las recomendaciones. Para ver el estado de las recomendaciones, consulte Supervisión de operaciones.

También puede encontrar el historial completo de las acciones de ajuste que se aplicaron en el pasado.

Recomendaciones Crear índice

Azure SQL Database supervisa continuamente las consultas que se ejecutan e identifica los índices que podrían mejorar el rendimiento. Después de que se sabe con bastante confianza que falta un índice, se crea una nueva recomendación Crear índice.

Para generar confianza, Azure SQL Database calcula la ganancia de rendimiento que el índice aportaría a lo largo del tiempo. Según la ganancia de rendimiento estimada, las recomendaciones se clasifican como alta, media o baja.

Los índices creados mediante recomendaciones se marcan siempre como índices auto_created. Para saber cuáles son los índices que se crean automáticamente, vaya a la vista sys.indexes. Los índices creados de forma automática no bloquean los comandos ALTER/RENAME.

Si intenta descartar la columna que tiene un índice creado automáticamente por encima, el comando se pasa. El índice creado automáticamente también se descarta con el comando. Los índices normales bloquean el comando ALTER/RENAME en las columnas que están indexadas.

Después de aplicar la recomendación Crear índice, Azure SQL Database compara el rendimiento de las consultas con el de línea de base. Si el nuevo índice mejora el rendimiento, la recomendación está marcada como correcta y el informe del impacto está disponible. Sin embargo, si no lo mejoró, se revierte de forma automática. Azure SQL Database emplea este proceso para asegurarse de que las recomendaciones mejoran el rendimiento de la base de datos.

Cualquier recomendación Crear índice tiene una directiva de rechazo que no permite aplicar la recomendación si la utilización de recursos de una base de datos o de un grupo es elevada. La directiva de rechazo tiene en cuenta la CPU, la E/S de datos, la E/S de registros y el almacenamiento disponible.

Si los valores de estos elementos son superiores al 80 % en los 30 minutos anteriores, la recomendación Crear índice se pospone. Si el almacenamiento disponible va a ser inferior al 10 % una vez creado el índice, la recomendación entra en un estado de error. Si al cabo de un par de días el ajuste automático considera que el índice resultaría beneficioso, el proceso comienza de nuevo.

Este proceso se repite hasta que haya suficiente almacenamiento disponible para crear un índice o hasta que el índice ya no se considere beneficioso.

Recomendaciones Quitar índice

Además de detectar índices que faltan, Azure SQL Database analiza continuamente el rendimiento de los índices existentes. Si no se usa un índice, Azure SQL Database recomienza descartarlo. Se recomienda quitar un índice en dos casos:

  • El índice es un duplicado de otro (misma columna indexada e incluida, esquema de partición y filtros).
  • El índice no se ha usado durante un período prolongado (>90 días).

Las recomendaciones Quitar índice también llevan a cabo la comprobación después de la implementación. Si mejora el rendimiento, está disponible el informe del impacto. Si se degrada el rendimiento, se revierte la recomendación.

Recomendaciones Parametrización de consultas (versión preliminar)

Las recomendaciones de parametrización de consultas aparecen cuando tiene una o varias consultas que se vuelven a compilar continuamente, pero que terminan con el mismo plan de ejecución de consultas. Esta condición crea una oportunidad de aplicar la parametrización forzada. A su vez, la parametrización forzada permite que se almacenen en caché planes de consulta y se vuelvan a usar en el futuro, lo que mejora el rendimiento y reduce el uso de recursos.

Inicialmente, se deben compilar consultas de evento para generar un plan de ejecución. Cada plan generado se agrega a la caché de planes. Las sucesivas ejecuciones de la misma consulta pueden volver a usar este plan desde la caché, lo que elimina la necesidad de compilación adicional.

Las consultas con valores sin parámetros pueden llevar a una sobrecarga en el rendimiento porque el plan de ejecución se vuelve a compilar cada vez que los valores sin parámetros son diferentes. En muchos casos, las mismas consultas con distintos valores de parámetro generan los mismos planes de ejecución. Estos planes, sin embargo, se agregan aún por separado a la caché de planes.

El proceso de volver a compilar planes de ejecución usa recursos de base de datos, aumenta el tiempo de duración de la consulta y desborda la caché de planes. Estos eventos, a su vez, hacen que los planes se expulsen de la caché. Este comportamiento se puede modificar estableciendo la opción de parametrización forzada en la base de datos.

Para ayudarlo a estimar el impacto de esta recomendación, se le proporciona una comparación entre el uso real y el previsto de la CPU (como si se aplicase la recomendación). Esta recomendación puede ayudarle a obtener ahorros de CPU. También puede ayudarle a reducir la duración de la consulta y la sobrecarga de la caché de planes, lo que significa que varios de los planes pueden permanecer en la caché y volverse a utilizar. Para aplicar esta recomendación rápidamente, seleccione el comando Aplicar.

Después de aplicar esta recomendación, se habilita la parametrización forzada en cuestión de minutos en la base de datos. Se inicia el proceso de supervisión, que tiene una validez de aproximadamente 24 horas. Después de este período, puede ver el informe de validación. Este informe muestra el uso de CPU de la base de datos 24 horas antes y después de haber aplicado la recomendación. Azure SQL Database Advisor cuenta con un mecanismo de seguridad que revierte automáticamente la recomendación aplicada en caso de detectarse una regresión del rendimiento.

Recomendaciones para solucionar problemas del esquema (vista previa)

Importante

Microsoft está dejando de usar las recomendaciones de corrección de problemas de esquema. Se recomienda usar Intelligent Insights para supervisar los problemas de rendimiento de la base de datos, incluidos los problemas de esquema que anteriormente trataban las recomendaciones de corrección de problemas de esquema.

Las recomendaciones Solucionar problemas de esquema aparecen cuando Azure SQL Database detecta alguna anomalía en el número de errores de SQL relacionados con el esquema que se producen en la base de datos. Esta recomendación suele aparecer cuando la base de datos encuentra varios errores relacionados con el esquema (nombre de columna no válido, nombre de objeto no válido, etc.) en el curso de una hora.

Los "problemas de esquema" son un tipo de errores de sintaxis. Se producen cuando la definición de la consulta SQL y la definición del esquema de base de datos no concuerdan. Por ejemplo, en la tabla de destino falta una de las columnas que espera la consulta o viceversa.

Las recomendaciones "Solucionar problemas de esquema" aparecen cuando Azure SQL Database detecta alguna anomalía en el número de errores de SQL relacionados con el esquema que se producen en la base de datos. En la tabla siguiente se muestran los errores relacionados con los problemas del esquema:

Código de error SQL Message
201 El procedimiento o la función ' ' espera parámetros ' ', que no se han proporcionado.
207 Nombre de columna '*' no válido.
208 Nombre de objeto '*' no válido.
213 El nombre de columna o los valores especificados no corresponden a la definición de la tabla.
2812 No se pudo encontrar el procedimiento almacenado '*'.
8144 La función o el procedimiento * tiene demasiados argumentos.

Aplicaciones personalizadas

Los desarrolladores pueden considerar la posibilidad de desarrollar aplicaciones personalizadas con las recomendaciones de rendimiento de Azure SQL Database. Todas las recomendaciones que se muestran en el portal para una base de datos están disponibles a través de la API Get-AzSqlDatabaseRecommendedAction.

Pasos siguientes

  • Para más información sobre cómo realizar un ajuste automático de los índices de base de datos y consultar los planes de ejecución, consulte Ajuste automático de Azure SQL Database.
  • Para más información sobre cómo supervisar de forma automática el rendimiento de la base de datos con diagnósticos automatizados y análisis de causa principal de problemas de rendimiento, consulte Azure SQL Intelligent Insights.
  • Consulte Query Performance Insight para más información sobre el impacto en el rendimiento de las principales consultas.