MECM 2303 en SQL Server 2022: establece el nivel de compatibilidad 150 para un entorno soportado

La suma de Microsoft Endpoint Configuration Manager (MECM) 2303 y SQL Server 2022 ofrece un motor de base de datos moderno con mejoras de rendimiento inteligentes; sin embargo, para que la plataforma permanezca en estado totalmente admitido, la base de datos de ConfigMgr debe conservar el nivel de compatibilidad 150, correspondiente a SQL Server 2019. A continuación encontrarás una guía exhaustiva —desde la justificación técnica hasta el procedimiento detallado y las buenas prácticas— para garantizar que tu entorno quede alineado con la matriz oficial de soporte.

Índice

Por qué MECM 2303 exige compatibilidad 150

El nivel de compatibilidad define cómo el optimizador de consultas interpreta T‑SQL, activa o desactiva ciertas características críticas y aplica planes de ejecución predeterminados. MECM 2303 fue diseñado, desarrollado y validado usando las reglas de la versión 150; por ello, todas sus rutinas internas (inventario, estado, replicación SQL Service Broker, etc.) se prueban formalmente bajo ese perfil.

  • Predictibilidad: mantienes la misma semántica de consultas que el equipo de producto utilizó en QA.
  • Prevención de errores futuros: los cumulative updates de ConfigMgr comprueban esta configuración y podrían bloquear la instalación si detectan un valor no admitido.
  • Garantía de soporte: en escenarios de ticket con Microsoft, se solicitarán trazas que confirmen compatibility_level = 150.

Riesgos de operar en nivel 160

Aunque aparentemente todo “funciona”, hay varios riesgos latentes:

  1. Planes de ejecución alterados. Una sola consulta crítica con un plan distinto puede provocar latencias en la actualización de clientes o en la generación de reportes.
  2. Funciones desfasadas. Algunas construcciones internas utilizan llamadas a funciones obsoletas que empiezan a lanzar advertencias o comportamientos inesperados en el nivel 160.
  3. Futuras migraciones bloqueadas. El instalador del siguiente baseline podría abortar si detecta nivel 160. Volver atrás tras meses de operación complica la ventana de mantenimiento.

Cómo comprobar el nivel actual

SELECT name, compatibility_level
FROM sys.databases
WHERE name = 'CM_xxx';  -- sustituye xxx por tu sitio

El resultado debe mostrar 150; cualquier otro valor amerita acción inmediata.

Métodos para cambiar el nivel a 150

Usando SQL Server Management Studio (SSMS)

  1. Abre SSMS y conéctate al servidor donde reside la base de datos del sitio.
  2. En el Explorador de objetos, haz clic derecho en la base CM_xxx  ›  Properties.
  3. Selecciona la página Options.
  4. Busca el campo Compatibility level y elige SQL Server 2019 (150).
  5. Haz clic en OK.

Mediante script T‑SQL

ALTER DATABASE CMxxx SET COMPATIBILITYLEVEL = 150;
GO

Antes de ejecutarlo, asegúrate de que no existan sesiones de larga duración sobre la base; el cambio es online, pero la recompilación automática de planes puede afectar rendimiento durante unos segundos.

Cuándo aplicar el cambio

Escenario A — Creación manual de la base: si tu estándar corporativo dispone la creación manual de la base antes de instalar MECM, define la compatibilidad en 150 durante el script inicial de CREATE DATABASE.

Escenario B — Instalación asistida: cuando dejas que el instalador de ConfigMgr cree la base, el asistente usa el valor predeterminado del servidor (160). Finalizada la configuración, ejecuta el script o cambia la propiedad vía SSMS y después reinicia el rol SMS_Executive para que recoja la modificación.

Efectos prácticos del cambio

ComponenteNivel 150Nivel 160Impacto para MECM
Optimización automática de consultaLimitadaCompletaPuede alterar planes de Site Data Replication
PREDICATE PUSH‑DOWN en índices columnstoreSin diferencias
Funciones STRING_AGG/TRIMNo utilizadas por ConfigMgr
Escalabilidad “Intelligent Query Processing 3.0”NoPotenciales advertencias no testeadas

Buenas prácticas posteriores al cambio

  • Respaldo completo. Realiza un full backup inmediatamente después.
  • DBCC CHECKDB. Ejecuta un chequeo de consistencia para detectar anomalías tempranas.
  • Actualiza estadísticas. EXEC sp_updatestats; reduce la probabilidad de planes subóptimos.
  • Supervisa los registros. Los archivos smsexec.log y despooler.log avisarán si alguna consulta produce advertencias post‑cambio.
  • Documenta tu cambio. Guarda la fecha, responsable y motivo en tu sistema de change management.

Monitoreo y verificación

A los pocos minutos del ajuste, abre la consola de MECM y revisa:

  • En Monitoring › Site Status no debe aparecer ninguna alerta “Site database in unsupported compatibility level”.
  • En Monitoring › Database Replication todos los vínculos deben figurar en “Active”.
  • Con SELECT COUNT(*) FROM vSMS_DatabaseLog verifica que no se registren nuevos errores.

Prepararte para nivel 160 (futuro)

Microsoft amplía periódicamente la compatibilidad. Para que la transición a nivel 160 sea sencilla cuando sea oficialmente soportada:

  • Mantén la versión de SSMS igual o superior a la del motor.
  • Aplica los latest CU tanto a SQL Server como a MECM.
  • Realiza Query Store baselines para comparar rendimiento antes y después.

Preguntas frecuentes

¿Debo reiniciar el servicio SQL tras cambiar la compatibilidad?
No es obligatorio, pero algunos administradores prefieren reiniciar fuera de horario para garantizar que todo el caché de planes se regenere de cero.

¿El cambio afecta las bases reporting o wsus?
Solo necesitas cambiar la base identificada por el prefijo CM_; las demás pueden permanecer en 160 si no están sujetas a otra aplicación con requisitos específicos.

¿Puedo automatizar la verificación tras cada CU?
Sí. Incluye un paso de PowerShell con Invoke-Sqlcmd que lance la consulta de comprobación y envíe un correo si detecta un valor distinto de 150.

¿Hay impacto en Always On AG?
El nivel de compatibilidad es una propiedad por base, no por instancia, de modo que replica sin problema; solo asegúrate de ejecutar el comando en cada réplica secundaria si deseas uniformidad inmediata fuera de la conmutación.

Conclusión

MECM 2303 se beneficia del rendimiento bruto y la seguridad de SQL Server 2022, pero la clave para un soporte pleno reside en anclar la base al nivel de compatibilidad 150. El proceso es directo, reversible y no disruptivo; a cambio obtienes tranquilidad operativa, un camino claro de actualizaciones y la certeza de que Microsoft respaldará tu plataforma en caso de incidencia.

Índice