Cuando alguien intenta conectarse a una instancia de SQL Server, aparece el error:
No es posible generar contexto SSPI.
Ayer tuvimos un apagón (no sé cómo decir esta expresión en inglés) y tuve que cerrar nuestros servidores.
Buscando respuestas, encontré esto:
Problema de conectividad de SQL Server 2008: no se puede generar el contexto SSPI
Pero no me ayuda, porque están funcionando bien hasta ayer. No quiero cambiar nada. Pero si es necesario, lo cambiaré.
Obs: no puedo reiniciar el servidor ahora.
Editar: desde mi respuesta, no hemos tenido ningún error.
gpupdate /force
. Más sobre este hermoso tema aquí. Pero recomendaría encarecidamente que esta tarea se entregue al administrador del servidor.Respuestas:
'No se puede generar el contexto SSPI' es un error genérico. Puede deberse a muchos problemas, como una contraseña desactualizada, deriva del reloj, permisos de acceso a Active Directory, falta de registro de un SPN y así sucesivamente.
No hay solución a este problema. La única 'solución' es investigar la causa, según KB811889 y / o Solución de errores de Kerberos . Aplicar una solución u otra de recursos aleatorios de Internet, sin comprender la causa, puede o no resolver el problema, puede o no causar frustración, puede o no causar daños irrevocables.
fuente
Cambiamos el
SQL SERVICE user
a uno que es "Domain Admin
".He hecho algunas investigaciones para saber por qué sucede esto. Dice que cuando cierra el servicio, necesita una cuenta con privilegios para crear un nuevo SPN (cuando se vuelve a encender). Si inicia un servicio sin él, se mostrará en NO PUEDE GENERAR CONTEXTO SSPI.
Estamos cambiando los privilegios de nuestra cuenta del sistema.
Espero que ayude a alguien.
fuente
Tuvimos este problema después de tomar una base de datos de PROD y restaurarla en QA. Nuestra aplicación llamó a tres bases de datos en tres servidores y, aparte de eso, no fue complicado.
Resulta que un SPN falso (Nombre principal del servicio) se estaba interponiendo en la cuenta de servicio bajo la cual la conexión debería haberse estado ejecutando. Descubrimos esto usando los Archivos de programa> Microsoft Kerberos Config Manager.
La solución a corto plazo fue utilizar el Administrador de configuración de SQL Server y cambiar las conexiones del Agente SQL Server y el Agente SQL Server de la cuenta de servicio a 'LocalSystem' en 'Usar la cuenta BuiltIn'.
fuente
No se puede generar el contexto SSPI puede significar exactamente eso. Cuando un cliente se conecta a un servidor SQL, utiliza un método de generación que incluye el tipo de servicio (MsSQLsvr) FQDN del servidor y el puerto. Utiliza DNS para generar el nombre del servidor, por lo que si resuelve el nombre incorrectamente debido a CNAME o archivo de host, etc., la generación fallará. Haga ping al servidor deseado y vea qué respuesta obtiene. Si no es el FQDN del servidor SQL, el SPN se generará incorrectamente y provocará este error.
fuente
En algunas situaciones, obtendrá este error debido a la configuración de SPN. Por ejemplo, si está realizando pruebas de recuperación ante desastres en un nuevo servidor, puede recibir un error de SSPI mientras se conecta a SQL Server. Aún más extraño es que puede conectarse utilizando SQL Server Management Studio pero no puede conectarse a través de ODBC u OLEDB. Puede haber una solución temporal que probablemente le permita acceder a la base de datos.
Solución alternativa : en cada computadora cliente que intente conectarse a SQL Server, cree una entrada en el archivo host de cada estación de trabajo. El mecanismo exacto que esto usa para solucionar el problema no está confirmado, pero puede ser que su uso anule la necesidad del SPN.
Si bien no se garantiza que esto sea una solución para todos los casos, lo más probable es que vuelva a funcionar. Esto no debe considerarse una solución permanente. Debe resolver el SPN u otros problemas en una situación ideal. Sin embargo, si tiene problemas con las máquinas antiguas de Windows que ejecutan un sistema operativo no compatible o si solo está haciendo pruebas de prueba de recuperación de desastres de concepto, esto debería llevarlo a donde necesita estar para mantener las luces encendidas o la producción de nuevo en funcionamiento.
fuente
Experimenté este problema y se resolvió eliminando la entrada SPN en los atributos de la cuenta de la computadora en AD para el servidor
Encuentre la cuenta de la máquina en Usuarios y equipos de AD (Vista avanzada)
Luego, elimine las dos entradas en servicePrincipalName para MSSQLSvc
fuente
Tuve un problema similar. Terminé teniendo que eliminar entradas de la información de SPN en la cuenta de la computadora en ADSIEdit.
Después de eliminar las entradas, reinicié el servicio SQL y registró el SPN con la cuenta de recursos de dominio que había creado. Entonces pude acceder a SQL Server de forma remota.
fuente
Para mí, la solución era ejecutar SQL Studio como usuario de dominio con este comando:
runas / user: OtherDomain \ User SSMS.exe
fuente
Experimenté este problema recientemente. Estaba funcionando como la cuenta de NT SERVICE y cuando cambié a usar una cuenta de servicio, ya no podía conectarme usando SSMS con el nombre de la máquina o el FQDN. Podría conectarme con la dirección IP. Al investigar un poco, descubrí que el SPN en Active Directory para la instancia de SQL estaba registrado en la máquina. Una vez que eliminé esto y luego lo agregué a la cuenta de servicio, y reinicié la máquina SQL, todo funcionó como debería. Feliz de proporcionar más detalles si es necesario.
fuente