Ajuste automático en Azure SQL Database e Instancia administrada de Azure SQL

Se aplica a: Azure SQL Database Azure SQL Managed Instance

El ajuste automático de Azure SQL Database e Instancia administrada de Azure SQL proporciona un alto rendimiento y cargas de trabajo estables gracias al ajuste continuo del rendimiento basado en la inteligencia artificial y el aprendizaje automático.

El ajuste automático es un servicio de rendimiento inteligente completamente administrado que usa la inteligencia integrada para supervisar continuamente las consultas ejecutadas en una base de datos y mejora automáticamente su rendimiento. Esto se logra mediante la adaptación dinámica de una base de datos a las cargas de trabajo cambiantes y la aplicación de las recomendaciones de ajuste. El ajuste automático aprende horizontalmente de todas las bases de datos de Azure mediante la inteligencia artificial y mejora dinámicamente sus acciones de ajuste. Cuanto más tiempo se ejecute una base de datos con el ajuste automático activado, mejor rendimiento tendrá.

El ajuste automático de Azure SQL Database e Instancia administrada de Azure SQL puede ser una de las características más impactantes que puede habilitar para proporcionar cargas de trabajo de base de datos estables y con un alto rendimiento.

El ajuste automático de Azure SQL comparte su lógica central con la función de ajuste automático de SQL Server en el motor de la base de datos. Para obtener información técnica adicional sobre el mecanismo de inteligencia integrada, vea el artículo sobre el ajuste automático de SQL Server.

¿Cómo le puede ayudar el ajuste automático?

  • Ajuste del rendimiento automatizado de bases de datos
  • Comprobación automática de mejoras de rendimiento
  • Corrección y reversión automatizadas
  • Historial de ajuste
  • Ajuste de scripts de Transact-SQL (T-SQL) de acción para implementaciones manuales
  • Funcionalidad de escalabilidad horizontal de cientos de miles de bases de datos
  • Impacto positivo para los recursos de DevOps y el costo total de propiedad

Seguro, confiable y probado

Las operaciones de ajuste aplicadas a bases de datos son totalmente seguras para el rendimiento de las cargas de trabajo más intensas. El sistema se ha diseñado cuidadosamente para que no interfiera con las cargas de trabajo del usuario. Las recomendaciones de optimización automatizada solo se aplican en los momentos de un bajo uso de CPU, E/S de datos y E/S de registro. El sistema también puede deshabilitar temporalmente las operaciones de ajuste automático para proteger el rendimiento de la carga de trabajo. En tal caso, se mostrará el mensaje "Desactivado por el sistema" en el Azure Portal y en sys.database_automatic_tuning_options DMV. El ajuste automático está diseñado para proporcionar a las cargas de trabajo de usuario la prioridad de recursos más alta.

Los mecanismos de ajuste automático están muy desarrollados y se han perfeccionado en varios millones de bases de datos que se ejecutan en Azure. Las operaciones de ajuste automatizadas aplicadas se comprueban automáticamente para garantizar que haya una mejora positiva notable en el rendimiento de la carga de trabajo. Si no hay ninguna mejora o, en el caso improbable, los cambios realizados por el ajuste automático se revierten rápidamente. A través del historial de ajustes registrado, existe un claro seguimiento de las mejoras de ajuste realizadas a cada base de datos en Azure SQL Database.

¿Cómo funciona el ajuste automático?

Habilitación del ajuste automático

Opciones de ajuste automático

Las siguientes son las opciones de ajuste automático disponibles en Azure SQL Database y Azure SQL Managed Instance:

Opción de ajuste automático Descripción Compatibilidad con bases de datos únicas y bases de datos agrupadas Compatibilidad de base de datos de instancia
CREATE INDEX Identifica los índices que pueden mejorar el rendimiento de la carga de trabajo, crea índices y comprueba automáticamente que el rendimiento de las consultas ha mejorado. Al recomendar un nuevo índice, el sistema considera el espacio disponible en la base de datos. Si se estima que la adición de índices aumenta el uso del espacio en más del 90 % hacia el tamaño máximo de los datos, no se genera la recomendación de índice. Una vez que el sistema identifica un período de uso bajo y comienza a crear un índice, no se pausará ni cancelará esta operación incluso si el uso de recursos aumenta inesperadamente. Si se produce un error en la creación de índices, se volverá a intentar durante un período futuro de bajo uso. No se proporcionan recomendaciones de índice para las tablas en las que el índice agrupado o el montón sobrepasan los 10 GB. No
DROP INDEX Quita los índices duplicados y sin usar (en los últimos 90 días). Los índices únicos, incluidos los índices que admiten restricciones únicas y de clave principal, nunca se quitan. Esta opción se puede deshabilitar automáticamente cuando hay consultas con sugerencias de índice presentes en la carga de trabajo, o cuando la carga de trabajo realiza una modificación de particiones. En los niveles de servicio Premium y Crítico para la empresa, esta opción nunca quitará los índices no usados, pero sí quitará los índices duplicados, si los hay. No
FORCE LAST GOOD PLAN (corrección automática del plan) Identifica consultas de Azure SQL que usan un plan de ejecución más lento que el plan correcto anterior, y obliga a las consultas a usar el último plan correcto conocido, en lugar del plan revertido.

Ajuste automático para SQL Database

En el ajuste automático de Azure SQL Database se emplean las recomendaciones del asesor de base de datos CREATE INDEX, DROP INDEX y FORCE_LAST_GOOD_PLAN para optimizar el rendimiento de la base de datos. Para más información, consulte Recomendaciones del asesor de base de datos en Azure Portal, en PowerShell y en la API REST.

Las recomendaciones de ajuste se pueden aplicar manualmente mediante Azure Portal, o bien puede dejar que se apliquen de forma autónoma. Las ventajas de dejar que el sistema aplique de forma autónoma las recomendaciones de ajuste por usted es que valida automáticamente que existe una ganancia positiva en el rendimiento de la carga de trabajo, y si no se detecta una mejora significativa del rendimiento o si este retrocede, el sistema revierte automáticamente los cambios realizados. En función de la frecuencia de ejecución de consultas, el proceso de validación puede tardar entre 30 minutos y 72 horas, lo que tarda más tiempo en ejecutar consultas con menos frecuencia. Si en algún momento durante la validación se detecta una regresión, los cambios se revierten inmediatamente.

Importante

En caso de que aplique las recomendaciones de ajuste mediante T-SQL, ni la validación automática del rendimiento ni los mecanismos de inversión estarán disponibles. Las recomendaciones aplicadas de este modo permanecerán activas y se mostrarán en la lista de recomendaciones de ajuste durante entre 24 y 48 horas antes de que el sistema las retire automáticamente. Si quiere quitar una recomendación antes, puede descartarla en Azure Portal.

Las opciones de ajuste automático se pueden habilitar o deshabilitar para cada base de datos de forma independiente o pueden configurarse en el nivel de servidor y aplicarse en todas las bases de datos que hereden la configuración de este. De forma predeterminada, los nuevos servidores heredan los valores predeterminados de Azure para la configuración de ajuste automático. Los valores predeterminados de Azure son FORCE_LAST_GOOD_PLAN activado, CREATE_INDEX deshabilitado y DROP_INDEX deshabilitado.

El método recomendado para configurar el ajuste automático es configurar las opciones de ajuste automático en un servidor y heredar la configuración de las bases de datos que pertenecen al servidor primario. Simplifica la administración de opciones de ajuste automático para un gran número de bases de datos.

Para aprender a crear notificaciones por correo electrónico para las recomendaciones de ajuste automático, consulte Notificaciones por correo electrónico para el ajuste automático.

Ajuste automático con Instancia administrada de Azure SQL

El ajuste automático con Instancia administrada de SQL solo admite FORCE LAST GOOD PLAN. Para más información sobre la configuración de las opciones de ajuste automático mediante T-SQL, consulte El ajuste automático introduce la corrección automática del plan y Corrección automática del plan.

Ejemplos para habilitar

Para obtener más información, consulte Opciones de ALTER DATABASE SET.

Para heredar la configuración predeterminada del servidor lógico primario, use el siguiente T-SQL. En Azure Portal, esto refleja la opción de "Heredar de: servidor".

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING = INHERIT;

Para habilitar las opciones de ajuste automático CREATE INDEX y DROP INDEX, use el siguiente T-SQL.

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (CREATE_INDEX = ON, DROP_INDEX = ON);

Historial de ajuste automático

Para Azure SQL Database, el historial de cambios realizados por el ajuste automático se conserva durante 21 días. Se puede ver en Azure Portal en la página Recomendaciones de rendimiento de una base de datos o mediante PowerShell con el cmdlet Get-AzSqlDatabaseRecommendedAction. Para una retención más larga, los datos del historial también se pueden transmitir a varios tipos de destinos habilitando la configuración de diagnóstico AutomaticTuning.