Evaluación de procedimientos recomendados de SQL para SQL Server en VM de Azure

Se aplica a:SQL Server en VM de Azure

La característica de evaluación de procedimientos recomendados de SQL de Azure Portal identifica posibles problemas de rendimiento y evalúa si SQL Server en máquinas virtuales (VM) de Azure está configurado para seguir los procedimientos recomendados mediante el conjunto de reglas enriquecido proporcionado por la API SQL Assessment.

Para más información, vea este vídeo sobre la evaluación de procedimientos recomendados de SQL:

Información general

Una vez habilitada la característica de evaluación de procedimientos recomendados de SQL, se examina la instancia de SQL Server y las bases de datos para proporcionar recomendaciones para aspectos como índices, características en desuso, marcas de seguimiento habilitadas o que faltan, estadísticas, etc. Las recomendaciones se muestran en la página de administración de máquinas virtuales con SQL de Azure Portal.

Los resultados de la evaluación se cargan en el área de trabajo de Log Analytics mediante Azure Monitor Agent (AMA). La extensión de AMA se instala en la máquina virtual de SQL Server, si aún no está instalada, y los recursos de AMA, como DCE, DCR se crean y se conectan al área de trabajo de Log Analytics especificada.

El tiempo de ejecución de la evaluación depende del entorno (número de bases de datos, objetos, entre otros), con una duración de unos minutos, hasta una hora. Del mismo modo, el tamaño del resultado de la evaluación también depende de su entorno. La evaluación se ejecuta en la instancia y en todas las bases de datos de esa instancia. En nuestras pruebas, observamos que una ejecución de evaluación puede tener un impacto de hasta un 5-10 % de CPU en la máquina. En estas pruebas, la evaluación se hizo mientras una aplicación de tipo TPC-C se ejecutaba en SQL Server.

Prerrequisitos

Para usar la característica de evaluación de procedimientos recomendados de SQL, debe cumplir con estos requisitos previos:

Habilitar

Puede habilitar las valoraciones de procedimientos recomendados de SQL mediante el portal de Azure o la CLI de Azure.

Para habilitar las valoraciones de procedimientos recomendados de SQL mediante el portal de Azure, siga estos pasos:

  1. Inicie sesión en Azure Portal y vaya al recurso de VM con SQL Server.
  2. Seleccione SQL best practices assessments (Evaluaciones de procedimientos recomendados de SQL) en Configuración.
  3. Seleccione Enable SQL best practices assessments (Habilitar evaluaciones de procedimientos recomendados de SQL) o Configuración para ir a la página Configuración.
  4. Active la casilla Habilitar evaluaciones de procedimientos recomendados de SQL y proporcione la siguiente información:
    1. El área de trabajo de Log Analytics en la que se cargarán las evaluaciones. Elija un área de trabajo existente en la suscripción de la lista desplegable.
    2. Elija un grupo de recursos donde se crearán los recursos del agente de Azure Monitor DCE y DCR. Si especifica el mismo grupo de recursos en varias máquinas virtuales de SQL Server, estos recursos se reutilizan.
    3. Run schedule (Ejecutar programación). Puede optar por ejecutar evaluaciones a petición o automáticamente según una programación. Si elige una programación, proporcione la frecuencia (semanal o mensual), el día de la semana, la periodicidad (cada 1-6 semanas) y la hora del día en que se deben iniciar las evaluaciones (hora local de la máquina virtual).
  5. Seleccione Aplicar para guardar los cambios e implementar Azure Monitor Agent en la máquina virtual con SQL Server si aún no se ha implementado. Una notificación de Azure Portal le indicará que la característica de evaluación de procedimientos recomendados de SQL está lista para la VM con SQL Server.

Evaluación de VM con SQL Server

Ejecución de evaluaciones:

  • Según una programación
  • A petición

Ejecución de la evaluación programada

Puede configurar la evaluación según una programación mediante el portal de Azure y la CLI de Azure.

Si establece una programación en el panel de configuración, se ejecuta automáticamente una evaluación en la fecha y hora especificadas. Elija Configuración para modificar la programación de evaluación. Una vez que proporcione una nueva programación, se sobrescribe la programación anterior.

Ejecución de la evaluación a petición

Una vez que la característica de valoración de procedimientos recomendados de SQL esté habilitada para la VM con SQL Server, es posible ejecutar una valoración a petición mediante el portal de Azure o la CLI de Azure.

Para ejecutar una evaluación a petición mediante el portal de Azure, seleccione Ejecutar evaluación en el panel de valoración de procedimientos recomendados de SQL de la página Recursos de máquina virtual con SQL Server del portal de Azure.

Vista de resultados

En la sección Assessments results (Resultados de las evaluaciones) de la página SQL best practices assessments (Evaluaciones de procedimientos recomendados de SQL), se muestra una lista de las ejecuciones de evaluación más recientes. En cada fila se muestra la hora de inicio de una ejecución y el estado: programada, en ejecución, cargando resultados, completada o con errores. Cada ejecución de evaluación tiene dos partes: evalúa la instancia y carga los resultados en el área de trabajo de Log Analytics. El campo de estado abarca ambas partes. Los resultados de la evaluación se muestran en los libros de Azure.

Puede acceder al libro de Azure de resultados de la evaluación de tres maneras:

  • Seleccione el botón View latest successful assessment (Ver la evaluación correcta más reciente) en la página SQL best practices assessments (Evaluaciones de procedimientos recomendados de SQL).
  • Elija una ejecución completada en la sección Assessments results (Resultados de las evaluaciones) de la página SQL best practices assessments (Evaluaciones de procedimientos recomendados de SQL).
  • Seleccione View assessment results (Ver los resultados de la evaluación) en Top 10 recommendations (10 recomendaciones principales) que se muestran en la página Información general de la página de recursos de VM con SQL.

Una vez abierto el libro, puede usar la lista desplegable para seleccionar ejecuciones anteriores. Puede ver los resultados de una sola ejecución mediante la página Resultados o revisar las tendencias históricas mediante la página Tendencias.

Results page

En la página Resultados se organizan las recomendaciones con pestañas para todas, nuevas y resueltas. Use estas pestañas para ver todas las recomendaciones de la ejecución actual, todas las recomendaciones nuevas (las diferencias frente a las ejecuciones anteriores) o las recomendaciones resueltas de ejecuciones anteriores. Las pestañas le ayudan a realizar un seguimiento del progreso entre ejecuciones. La pestaña Información identifica los problemas más recurrentes y las bases de datos con más problemas. Se pueden usar para decidir dónde se deben centrar los esfuerzos.

El gráfico agrupa los resultados de la evaluación en diferentes categorías de gravedad: alta, media, baja e información. Seleccione cada categoría para ver la lista de recomendaciones o busque frases clave en el cuadro de búsqueda. Es mejor empezar con las recomendaciones más graves e ir bajando en la lista.

En la primera cuadrícula, se muestra cada recomendación y la cantidad de veces en que el entorno encontró ese problema. Al seleccionar una fila de la primera cuadrícula, en la segunda cuadrícula se muestran todas las instancias de esa recomendación concreta. Si no hay ninguna selección en la primera cuadrícula, en la segunda cuadrícula se muestran todas las recomendaciones. Esta podría ser una lista grande. Puede usar los menús desplegables sobre la cuadrícula (Nombre, Gravedad, Etiquetas, Id. de comprobación) para filtrar los resultados. También puede usar las opciones Exportar a Excel y Abrir la última consulta ejecutada en la vista Registros. Para ello, seleccione los iconos pequeños e la esquina superior derecha de cada cuadrícula.

La sección correcto del gráfico identifica las recomendaciones que el sistema ya sigue.

Para ver información detallada de cada recomendación, seleccione el campo Mensaje, como una descripción larga y los recursos en línea pertinentes.

Hay tres gráficos en la página Tendencias para mostrar los cambios a lo largo del tiempo: todos los problemas, los nuevos y los resueltos. Los gráficos le ayudan a ver el progreso. Idealmente, el número de recomendaciones debería bajar mientras el número de problemas resueltos sube. La leyenda muestra el número medio de problemas para cada nivel de gravedad. Mantenga el puntero sobre las barras para ver los vales individuales de cada ejecución.

Si hay varias ejecuciones en un solo día, solo se incluye la ejecución más reciente en los gráficos de la página Tendencias.

Habilitación de todas las máquinas virtuales de una suscripción

Puede usar la CLI de Azure para habilitar la característica de valoración de procedimientos recomendados de SQL en todas las máquinas virtuales con SQL Server dentro de una suscripción. Para ello, utilice el siguiente script de ejemplo:

# This script is formatted for use with Az CLI on Windows PowerShell. You may need to update the script for use with Az CLI on other shells.
# This script enables SQL best practices assessment feature for all SQL Servers on Azure VMs in a given subscription. It configures the VMs to use a Log Analytics workspace to upload assessment results. It sets a schedule to start an assessment run every Sunday at 11pm (local VM time).
# Please note that if a VM is already associated with another Log Analytics workspace, it will give an error.
 
$subscriptionId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
# Resource Group where the Log Analytics workspace belongs
$myWsRg = 'myWsRg'
# Log Analytics workspace where assessment results will be stored
$myWsName = 'myWsName'
# Resource Group where the Azure Monitor Agent resources will be created
$myAgentRg = 'myAgentRg'
 
# Ensure in correct subscription
az account set --subscription $subscriptionId
 
$sqlvms = az sql vm list | ConvertFrom-Json 
 
foreach ($sqlvm in $sqlvms)
{
  echo "Configuring feature on $($sqlvm.id)"
  az sql vm update --assessment-weekly-interval 1 --assessment-day-of-week Sunday --assessment-start-time-local "23:00" --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name
  
  # Alternatively you can use this command to only enable the feature without setting a schedule
  # az sql vm update --enable-assessment true --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name  
 
  # You can use this command to start an on-demand assessment on each VM
  # az sql vm start-assessment -g $sqlvm.resourceGroup -n $sqlvm.name
}

Problemas conocidos

Es posible que encuentre algunos de estos problemas comunes al usar las evaluaciones de procedimientos recomendados de SQL.

Migración de Microsoft Monitoring Agent (MMA) a Azure Monitor Agent (AMA)

Anteriormente, la característica de valoración de procedimientos recomendados de SQL usaba MMA para cargar valoraciones en el área de trabajo de Log Analytics. MMA se retira. Esta característica ahora usa AMA para cargar las valoraciones. Si ha habilitado la valoración de procedimientos recomendados de SQL mediante MMA en el pasado, puede migrar fácilmente a AMA si deshabilita primero la característica y después vuelve a habilitarla. Los resultados existentes seguirán estando disponibles después de la operación de deshabilitación/habilitación, siempre y cuando especifique la misma área de trabajo de Log Analytics. Si no lo usan otros servicios, puede quitar Microsoft Monitoring Agent en este momento siguiendo estas instrucciones. Antes de migrar, asegúrese de que Azure Monitor Log Analytics es compatible con la región en la que reside la máquina virtual de SQL Server mediante la tabla vinculada aquí.

Error de implementación para habilitar o ejecutar evaluación

Consulte el historial de implementación del grupo de recursos que contiene la VM con SQL para ver el mensaje de error asociado a la acción con error.

Evaluaciones con error

Si la evaluación o la carga de los resultados no se han realizado por algún motivo, el estado de esa ejecución indicará el error. Al hacer clic en el estado, se abrirá un panel contextual donde podrá ver los detalles sobre el error y las posibles formas de corregirlo.

Sugerencia

Si ha aplicado TLS 1.0 o posterior en Windows y ha deshabilitado los protocolos SSL anteriores, como se describe aquí, también debe asegurarse de que .NET Framework esté configurado para usar criptografía segura.

Pasos siguientes