Compartir por


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

Se aplica a: SQL Server en máquina virtual 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 VM con 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:

Permisos

Para habilitar las valoraciones de procedimientos recomendados de SQL, necesita los siguientes permisos:

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 máquinas virtuales de SQL.
  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 indica que la característica de valoració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 de recursos Máquina virtual con SQL en Azure Portal.

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 lo siguiente:

  • Todas: todas las recomendaciones de la ejecución actual.
  • Nuevas: nuevas recomendaciones (la delta de las ejecuciones anteriores).
  • Resueltas: recomendaciones resueltas de ejecuciones anteriores.
  • Información: identifica los problemas más recurrentes y las bases de datos con más problemas.

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, que posiblemente sea una lista larga. 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 al agente de Azure Monitor (AMA)

Anteriormente, la característica de valoración de procedimientos recomendados de SQL usaba Microsoft Monitoring Agent (MMA) para cargar valoraciones en el área de trabajo de Log Analytics. Microsoft Monitoring Agent se ha reemplazado por el Agente de Azure Monitor (AMA). Para migrar las valoraciones de procedimientos recomendados de SQL existentes de MMA a AMA, debe eliminar y, después, volver a registrar la VM con SQL Server con la extensión. Los resultados existentes seguirán estando disponibles una vez habilitadas las valoraciones. Si no hay otros servicios que usen MMA, puede quitarlo. Antes de migrar, asegúrese de que el análisis de registros de Azure Monitor es compatible con la región en la que se implementa la VM con SQL Server.

No se han podido habilitar las valoraciones

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.

No se ha podido ejecutar una valoración

Compruebe el estado de la ejecución de la valoración en Azure Portal. Si se produce un error en el estado, seleccione el estado para ver el mensaje de error. También puede iniciar sesión en la máquina virtual y revisar los mensajes de error detallados para las valoraciones con errores en el registro de extensiones en C:\WindowsAzure\Logs\Plugins\Microsoft.SqlServer.Management.SqlIaaSAgent\2.0.X.Y, donde 2.0.X.Y es la versión de la extensión.

Si tiene problemas para ejecutar una valoración:

  • Asegúrese de que su entorno cumpla todos los requisitos previos.
  • Asegúrese de que el servicio Agente de IaaS de SQL se ejecuta en la máquina virtual y la extensión Agente de IaaS de SQL está en buen estado. Si la extensión Agente de IaaS de SQL es incorrecta, repare la extensión para solucionar cualquier problema y actualícela a la última versión sin tiempo de inactividad de SQL Server.
  • Si ve algún error de inicio de sesión para NT SERVICE\SqlIaaSExtensionQuery, asegúrese de que esa cuenta existe en SQL Server con el permiso Server permission - CONTROL SERVER.

Error al cargar el resultado en el área de trabajo de Log Analytics

Este error indica que Microsoft Monitoring Agent (MMA) no pudo cargar los resultados en el período de tiempo esperado.

Si los resultados no se cargan en el área de trabajo de Log Analytics, pruebe lo siguiente:

Errores con una configuración de TLS incorrecta mediante Log Analytics

El error TLS más común se produce cuando la extensión Microsoft Monitoring Agent (MMA) no puede establecer un protocolo de enlace SSL al conectarse al punto de conexión del análisis de registros, lo que suele ocurrir cuando el Registro o GPO aplica TLS 1.0 en el nivel de sistema operativo, pero no se actualiza para .NET Framework. Si ha aplicado TLS 1.0, o cualquier versión posterior, en Windows y ha deshabilitado los protocolos SSL anteriores, como se describe en Claves del Registro específicas de Schannel, también debe asegurarse de que .NET Framework esté configurado para usar criptografía segura.

No se puede cambiar el área de trabajo de Log Analytics después de configurar instancias de SQL Assessment

Después de que una máquina virtual está asociada a un área de trabajo de Log Analytics, no se puede cambiar desde el recurso de la máquina virtual de SQL. Esto es para evitar que Log Analytics se use para otros casos de uso. La máquina virtual se puede desconectar mediante la hoja de recursos de análisis de registros en la página Virtual Machines en Azure Portal.

El resultado expiró debido a la retención de datos del área de trabajo de Log Analytics

Esto indica que los resultados ya no se conservan en el área de trabajo de Log Analytics, en función de su directiva de retención. Puede cambiar el período de retención del área de trabajo.