2009-05-13 11 views
15

que acaba de instalar SQL Server 2008 Developer Edition y yo estoy tratando de conectarse a través de sqlcmd.exe, pero me da el siguiente error:SQL Server 2008: error de inicio de sesión. La entrada es de un dominio de confianza, y no se puede utilizar con la autenticación de Windows

H:\>sqlcmd.exe -S ".\SQL2008" 

Msg 18452, Level 14, State 1, Server DEVBOX\SQL2008, Line 1 

Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. 

La instancia de SQL Server está configurada para usar SQL Server y el modo de Autenticación de Windows. Si especifico -U sa entonces puedo iniciar sesión correctamente, pero me gustaría usar la autenticación de Windows. La conexión mediante SSMS con autenticación de Windows parece funcionar bien.

Respuesta

6

tuve este problema y que era debido a que la máquina que ejecuta la tampoco la aplicación de confianza para delegación en el dominio de directorio activo. Si se trata de una aplicación .net que se ejecuta en una identidad de grupo de aplicaciones DOMAIN_application.environment, por ejemplo ... la identidad no puede realizar llamadas a SQL a menos que la máquina sea de confianza.

+0

No he tenido tiempo de verificar esto, pero esta parece ser la causa más probable. –

+46

¿cómo se soluciona esto? –

+0

Esta podría ser una solución similar: http://stackoverflow.com/a/11248883/62072 –

5

usted no está pasando ninguna credencial a sqlcmd.exe

Así que está tratando de autenticar con las credenciales de sesión de Windows, pero no debe tener la configuración de SQL Server para que acepte esas credenciales ...

Cuando se instalase, que habría tenido que proporcionar una contraseña de administrador del servidor (para la cuenta sa)

TRY ...

sqlcmd.exe -U sa -P YOUR_PASSWORD -S ".\SQL2008" 

para referencia, theres más detalles here ...

+0

La instancia de SQL Server está configurada para usar SQL Server y el modo de Autenticación de Windows. Si especifico -U sa entonces puedo iniciar sesión correctamente, pero me gustaría usar la autenticación de Windows. La conexión mediante SSMS con la autenticación de Windows parece funcionar bien. –

0

No se especifica un nombre de usuario y contraseña para iniciar la sesión? ¿Cuál es exactamente tu línea de comando completa?

Si está ejecutando en su propio cuadro, puede especificar un nombre de usuario/contraseña o utilizar el parámetro -E para iniciar sesión con sus credenciales de Windows (si están permitidas en la instalación de su servidor SQL).

Marc

+0

La línea de comando completa está tal como se publicó en la pregunta, nada más. -E no parece hacer ninguna diferencia, el mismo error se produce. –

+0

¿Se ha agregado el usuario actual con el que está ejecutando en su DEVBOX al servidor SQL como un "inicio de sesión"? –

+0

Sí, la cuenta de Windows AD se ha agregado como inicio de sesión del servidor con todas las funciones de servidor. –

1

Su error es, literalmente, diciendo "que está tratando de utilizar la autenticación de Windows, pero su inicio de sesión no es de un dominio de confianza". Lo cual es extraño, porque te estás conectando a la máquina local.

¿Tal vez está conectado a Windows usando una cuenta local en lugar de una cuenta de dominio? Asegúrese de iniciar sesión con una cuenta de dominio que también sea un principal de SQL Server en su instancia de SQL2008.

+0

He iniciado sesión en Windows utilizando una cuenta de dominio que también es un servidor principal en la instancia de 2008. –

2

acaba de intentar esto:

H:> "C: \ Archivos de programa \ Microsoft SQL Server \ 90 \ Tools \ Binn \ sqlcmd.exe" -S 1>

" \ SQL2008" . y funciona ... (tengo el directorio Microsoft SQL Server \ 100 \ Tools \ Binn en mi ruta).

Aún no sabe por qué la versión de SQL Server 2008 de SQLCMD no funciona aunque ..

3

En mi caso, este error fue causado por el cambio de nombre de mi máquina cliente. Utilicé un nombre nuevo de más de 13 caracteres (a pesar de la advertencia), que dio como resultado que el nombre de NETBIOS se truncara y fuera diferente del nombre completo de la máquina. Una vez que cambié el nombre del cliente a un nombre más corto, el error desapareció.

0

Me estaba llegando este error también, aunque mi problema era que seguía cambiando entre dos redes corporativas a través de mi máquina virtual, con diferentes credenciales de acceso. Tuve que correr el símbolo del sistema:

ipconfig /renew 

Después de esto se resolvieron mis problemas de red y pude conectar de nuevo a SQL.

0

acaba de encontrar este hilo y registró una respuesta alternativa (copiado abajo) aquí: https://stackoverflow.com/a/37853766/1948625

Específicamente sobre esta cuestión, si el punto "." que se utiliza en el valor -S de la línea de comandos significa lo mismo que 127.0.0.1 , entonces podría ser el mismo problema que la cadena de conexión de la otra pregunta. Use el nombre de host en su lugar, o verifique su archivo de hosts.


Pregunta anterior, y mis síntomas son ligeramente diferentes, pero el mismo error. Mi cadena de conexión era correcta (seguridad integrada, y no proporciono usuario y pwd) con data source establecido en 127.0.0.1. Funcionó bien por años.

Sin embargo, recientemente he añadido una línea en el archivo de host estático para propósitos de prueba (C:\Windows\System32\drivers\etc\hosts)

127.0.0.1   www.blablatestsite.com 

retirar esta línea y el error se ha ido.

Tengo una idea de este artículo (https://support.microsoft.com/en-gb/kb/896861) que habla sobre nombres de host y loopback.

Otra solución posible (si necesita mantener esa línea en el archivo hosts) es usar el nombre de host (como MYSERVER01) en lugar de 127.0.0.1 en el data source de la cadena de conexión.

Cuestiones relacionadas