Solución de problemas de configuración, inicio y autenticación de SQL Server con gMSA

Se aplica a: SQL Server en Windows

Resumen

Este artículo es el punto de referencia para los errores de instalación, actualización, inicio del servicio, Agente SQL Server, instancia de clúster de conmutación por error (FCI), Kerberos, servidor vinculado y grupo de disponibilidad que se producen cuando los servicios de SQL Server se ejecutan con una cuenta de servicio administrada de grupo (gMSA). La mayoría de estos síntomas tienen las mismas causas subyacentes, intervenga o no una gMSA, por lo que cada artículo sobre cada caso se centra en las comprobaciones específicas de la gMSA y remite, para el resto, al artículo canónico de solución de problemas.

Comience con la lista de comprobación de validación rápida. A continuación, use la ruta de solución de problemas que coincida con el error observado para encontrar el artículo del escenario que tiene los pasos de diagnóstico y resolución. Para obtener información sobre cómo seleccionar y configurar cuentas de servicio para SQL Server, incluidas las cuentas de servicio administradas y las gMSA, consulte Configuración de cuentas de servicio y permisos de Windows. Para la creación y administración de gMSA en Active Directory, consulte Administración de cuentas de servicio administradas de grupo.

Prerequisites

Importante

Recopile evidencias antes de cambiar las cuentas de servicio, la directiva de seguridad, los valores del Registro, los SPN o la configuración del clúster de conmutación por error. Registre la hora de error y la zona horaria del servidor. Ejecute los comandos de validación de host localmente en todos los servidores independientes, nodos de clúster o réplica afectados y, a continuación, compare los resultados. Reemplace la cuenta de ejemplo, el servicio, la instancia y los nombres de dominio por valores de su entorno.

Lista de comprobación rápida para validación

Ejecute estas comprobaciones en cada host afectado antes de abrir un artículo específico del escenario. Para una FCI o un grupo de disponibilidad, ejecute estas comprobaciones en cada nodo propietario posible o réplica y compare los resultados.

  1. Confirme las identidades de servicio de SQL Server y Agente SQL Server configuradas; para ello, revise el valor Iniciar sesión como en Administrador de configuración de SQL Server y la SERVICE_START_NAME salida de sc.exe qc.

    Para una instancia predeterminada, ejecute los siguientes comandos.

    sc.exe qc MSSQLSERVER
    sc.exe qc SQLSERVERAGENT
    

    Resultado esperado:SERVICE_START_NAME identifica la gMSA prevista. Para una instancia con nombre, use MSSQL$<InstanceName> y SQLAgent$<InstanceName>. Reemplace por <InstanceName> el nombre de la instancia.

  2. Confirme que Active Directory puede encontrar la gMSA ejecutando Get-ADServiceAccount y comprobando que devuelve la cuenta prevista.

    Ejecute el comando siguiente en una sesión de PowerShell con privilegios elevados.

    Get-ADServiceAccount -Identity 'SQLgMSA' -Properties PrincipalsAllowedToRetrieveManagedPassword
    

    Resultado esperado:Get-ADServiceAccount devuelve la cuenta prevista y enumera el host.

  3. Confirme que la cuenta del equipo host, o un grupo que la incluya, figure en PrincipalsAllowedToRetrieveManagedPassword.

  4. Pruebe la recuperación de contraseñas de todos los hosts afectados o el posible nodo propietario ejecutando Test-ADServiceAccount localmente y confirmando que devuelve True.

    Ejecute el comando siguiente en una sesión de PowerShell con privilegios elevados.

    Test-ADServiceAccount -Identity 'SQLgMSA'
    

    Resultado esperado:Test-ADServiceAccount devuelve True en cada host que puede ejecutar el servicio SQL Server.

  5. Confirme que Service Control Manager trata la cuenta de servicio como administrada ejecutando sc.exe qmanagedaccount con el nombre exacto del servicio SQL Server o Agente SQL Server y compruebe que indica TRUE.

    Para una instancia predeterminada, ejecute los siguientes comandos.

    sc.exe qmanagedaccount MSSQLSERVER
    sc.exe qmanagedaccount SQLSERVERAGENT
    

    Resultado esperado:qmanagedaccount notifica TRUE.

  6. Confirme el DNS, la detección del controlador de dominio, el estado del canal seguro y la sincronización horaria.

    Ejecute los siguientes comandos. Reemplace por contoso.com el nombre de dominio de Active Directory.

    nltest /dsgetdc:contoso.com
    nltest /sc_verify:contoso.com
    w32tm /query /status
    

    Resultado esperado: se descubre un controlador de dominio, el canal seguro funciona correctamente y el estado de la sincronización horaria es correcto.

  7. Si se inicia SQL Server, confirme el esquema de autenticación actual consultando sys.dm_exec_connections desde una sesión remota autenticada Windows.

Para obtener comprobaciones de gMSA de nivel de host adicionales que no son específicas de SQL Server, consulte Solución de problemas de gMSA para contenedores de Windows.

Elección de una ruta de solución de problemas

Síntoma observado Consulte
El programa de instalación rechaza la gMSA o no puede validarla Solucionar problemas de errores de instalación y actualización con gMSA
La instalación falla con 0x84BB0001 o «Acceso denegado» Se produce un error en el programa de instalación 0x84BB0001
Error 1069, id. de evento 7041 o id. de evento 7038 Solución de problemas de errores de inicio del servicio con gMSA
Solo se produce un error en el servicio durante el arranque Solución de problemas de errores de inicio del servicio con gMSA
IsManagedAccount o qmanagedaccount es FALSE Solución de problemas de errores de inicio del servicio con gMSA
Agente SQL Server se inicia, pero se produce un error en los trabajos Solucionar errores en los trabajos de Agente SQL Server con cuentas de servicio administradas de grupo (gMSA)
La configuración de FCI, la adición de nodo, el inicio o la conmutación por error fallan Solucionar fallos de instancias de clúster de conmutación por error con gMSAs
Error de alternativa de NTLM, error de SPN, ANONYMOUS LOGON o error de autenticación del punto de conexión del grupo de disponibilidad Solución de problemas de Kerberos y errores de autenticación con gMSA
Error de actualización 29569 La actualización de SQL Server falla con el error 29569

Recopilación de datos de diagnóstico

Si la lista de comprobación de validación rápida y las comprobaciones específicas del escenario no aíslan la causa, recopile los siguientes datos de diagnóstico antes de continuar la investigación o abrir un caso de soporte técnico. Recopile todos los artefactos del mismo intervalo de error para que la evidencia se ponga en correlación.

Recopile la siguiente evidencia específica de gMSA de cada host, nodo o réplica afectados:

  • Get-ADServiceAccount salida, incluida PrincipalsAllowedToRetrieveManagedPassword.
  • Test-ADServiceAccount resultado.
  • sc.exe qc y sc.exe qmanagedaccount de entrada y salida para los servicios SQL Server y Agente SQL Server.
  • salida de nltest /dsgetdc, nltest /sc_verify y w32tm /query /status.
  • Asignaciones efectivas de derechos de usuario y gpresult salida.
  • Propiedad de SPN y comprobaciones duplicadas para la gMSA.
  • Para una FCI, el registro de clúster que cubre la transición de recursos.

Recopile los siguientes datos de diagnóstico estándar SQL Server para el mismo intervalo:

  • Registros de instalación, incluidos Summary.txt, Detail.txty registros específicos de características. Consulte Ver y leer los archivos de registro del programa de instalación de SQL Server.
  • Registros de errores actuales y archivados de SQL Server, registros de Agente SQL Server y historial de trabajos fallidos.
  • Registros de eventos del sistema, de la aplicación y de seguridad pertinentes.

Para la selección de herramientas y la recopilación automatizada, consulte Solución de problemas y herramientas de diagnóstico para SQL Server. Puede usar SQL LogScout para automatizar la recopilación cuando sea adecuado para la investigación.