Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server en Windows
Resumen
Este artículo le ayuda a solucionar problemas de configuración de la instancia de clúster de conmutación por error (FCI) de SQL Server, adición de nodos, inicio y errores de conmutación por error cuando el servicio de SQL Server se ejecuta con una cuenta de servicio administrada de grupo (gMSA). Abarca la recuperación de contraseña administrada en todos los posibles nodos propietarios, derechos específicos del nodo y parámetros de inicio, estado de instalación incompleto y errores de recursos del clúster.
Antes de empezar, revise los requisitos previos y ejecute la lista rápida de comprobación para la validación en Solucionar problemas de instalación, inicio y autenticación de SQL Server con gMSA.
Síntomas
- Se produce un error en el programa de instalación de FCI durante la validación de la cuenta.
- Una operación de adición de nodo informa de información incoherente de la cuenta de servicio.
- SQL Server comienza desde la línea de comandos, pero no a través del clúster.
- La conmutación por error falla porque faltan parámetros de inicio o configuración específicos del nodo.
Causa
Los errores de FCI pueden implicar la recuperación de contraseñas, metadatos de instalación incompletos, parámetros de inicio específicos del nodo, derechos que difieren por nodo, acceso a almacenamiento o comprobaciones de estado del servicio de clúster. La causa específica de gMSA es que uno o varios nodos de propietario posibles no están autorizados para recuperar la contraseña administrada, por lo que la instancia funciona en algunos nodos y se produce un error en otros.
Diagnóstico de errores de instancia de clúster de conmutación por error
Ejecute la lista de comprobación de validación rápida en todos los nodos propietarios posibles y compare los resultados.
Ejecute los siguientes comandos en todos los nodos propietarios posibles.
Test-ADServiceAccount -Identity 'SQLgMSA' sc.exe qmanagedaccount MSSQLSERVER Get-ClusterResource | Format-Table Name, ResourceType, State, OwnerGroup -AutoSizeCompare la identidad de servicio, el estado de la cuenta administrada, los derechos efectivos y los parámetros de inicio entre nodos.
Resultado esperado:
Test-ADServiceAccountdevuelveTrueen todos los nodos propietarios posibles, y la configuración del servicio y los parámetros de inicio son coherentes para la misma FCI.Revise el historial de configuración de las operaciones de adición de nodos canceladas o incompletas.
Recopile el registro de errores de SQL Server y el registro del clúster para la transición del mismo recurso.
Genere un registro de clúster mediante la ejecución del comando siguiente.
Get-ClusterLog -UseLocalTime -Destination C:\Temp
Solucionar errores de instancia de clúster de conmutación por error
Use la solución que coincida con la evidencia de los pasos de diagnóstico.
Autorización de todos los nodos propietarios posibles para recuperar la contraseña administrada
Autorice cada posible nodo propietario para recuperar la contraseña administrada y, a continuación, vuelva a probar la conmutación por error para cada nodo. Si la gMSA autoriza cuentas de equipo individuales, Set-ADServiceAccount reemplaza la lista completa de entidades autorizadas. Revise primero el valor actual e incluya todas las entidades de seguridad que deban permanecer autorizadas.
# Review the gMSA configuration
Get-ADServiceAccount -Identity "SQLgMSA" `
-Properties PrincipalsAllowedToRetrieveManagedPassword |
Select-Object Name, PrincipalsAllowedToRetrieveManagedPassword
# If individual computer accounts are used, authorize each possible owner node
Set-ADServiceAccount -Identity "SQLgMSA" `
-PrincipalsAllowedToRetrieveManagedPassword "NODE1$","NODE2$","NODE3$"
# Verify the gMSA from each possible owner node
Invoke-Command -ComputerName NODE1,NODE2,NODE3 {
Test-ADServiceAccount -Identity "SQLgMSA"
}
Si un grupo de seguridad autoriza la gMSA, agregue los posibles nodos propietarios a ese grupo en lugar de reemplazar las entidades de seguridad de gMSA existentes.
Add-ADGroupMember -Identity "SQL-FCI-gMSA-Nodes" `
-Members "NODE1$","NODE2$","NODE3$"
Para obtener más información, consulte los artículos siguientes:
- Get-ADServiceAccount
- Set-ADServiceAccount
- Test-ADServiceAccount
- Add-ADGroupMember
- Administración de cuentas de servicio administradas de grupo
Corrija los derechos específicos del nodo, los parámetros de inicio o el estado de Setup incompleto
Corrija los derechos específicos del nodo confirmados, los parámetros de inicio o el estado de instalación incompleto. Ejecute los siguientes comandos en cada nodo y compare los resultados. Reemplace por <InstanceID> el identificador de instancia, como MSSQL16.MSSQLSERVER.
# Verify the SQL Server service account on each node
Get-CimInstance Win32_Service -Filter "Name='MSSQLSERVER'" |
Select-Object Name, StartName, State, StartMode
# Compare SQL Server startup parameters on each node
reg query "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceID>\MSSQLServer\Parameters"
# Check the SQL Server Windows service configuration
sc.exe qc MSSQLSERVER
Use Administrador de configuración de SQL Server para corregir las diferencias de parámetros de inicio en lugar de editar el registro manualmente. Para obtener más información, consulte los artículos siguientes:
- Configuración de permisos y cuentas de servicio de Windows
- Administrador de configuración de SQL Server
- Configuración de las opciones de inicio del servidor
Solución de problemas de errores de recursos de clúster que no están relacionados con la cuenta de servicio
Si el error del recurso de clúster no está relacionado con la cuenta de servicio, use los siguientes comandos para revisar los roles agrupados, los recursos del clúster y el registro del clúster.
# List clustered roles and their current owner/state
Get-ClusterGroup
# List cluster resources and their current state
Get-ClusterResource |
Format-Table Name, ResourceType, State, OwnerGroup -AutoSize
# Identify SQL Server-related cluster resources
Get-ClusterResource |
Where-Object { $_.ResourceType -like "*SQL*" } |
Format-Table Name, ResourceType, State, OwnerGroup -AutoSize
# Generate cluster logs
New-Item -ItemType Directory -Path "C:\ClusterLogs" -Force
Get-ClusterLog -UseLocalTime -Destination "C:\ClusterLogs"
El módulo de PowerShell FailoverClusters incluye los cmdlets Get-ClusterGroup, Get-ClusterResource y Get-ClusterLog. Para obtener más información sobre estos cmdlets, consulte los siguientes artículos:
Para los fallos específicos de SQL Server, consulte los siguientes artículos:
- Solución de problemas de clústeres de conmutación por error
- Un recurso de clúster de SQL Server pasa a un estado "erróneo"
Volver a crear las claves del Registro específicas del recurso que faltan
Para volver a crear claves del Registro específicas de recursos que faltan, siga los pasos descritos en Volver a crear manualmente claves del Registro específicas del recurso. Antes de realizar los cambios documentados en el Registro, identifique los recursos del clúster de SQL Server y realice una copia de seguridad del registro del clúster.
# Identify the SQL Server cluster resources
Get-ClusterResource |
Where-Object { $_.ResourceType -like "*SQL*" } |
Format-Table Name, ResourceType, State, OwnerGroup
# Back up the cluster registry before making documented registry changes
New-Item -ItemType Directory -Path "C:\Temp" -Force
reg export "HKLM\Cluster" "C:\Temp\ClusterRegistryBackup.reg" /y
Caution
No copie los valores del Registro entre instancias no relacionadas. Compruebe el identificador de instancia, las rutas de acceso de almacenamiento compartido, el rol en clúster y el nodo antes de realizar un cambio.
Recopilación de datos de diagnóstico
Si el error persiste después de completar estos pasos, recopile datos de diagnóstico de todos los nodos propietarios posibles, incluido el registro de clúster para la misma transición de recursos. Para obtener la evidencia específica de gMSA y los registros de SQL Server estándar que se van a recopilar, consulte Recopilación de datos de diagnóstico en la introducción a la solución de problemas de gMSA. Use esos datos para continuar la investigación o para abrir un caso de soporte técnico.