2009-05-13 8 views
15

Ho appena installato SQL Server 2008 Developer Edition e sto cercando di connettersi utilizzando sqlcmd.exe, ma ottengo il seguente errore:SQL Server 2008: accesso non riuscito. L'accesso è da un dominio non attendibile e non può essere utilizzato con l'autenticazione di 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. 

L'istanza di SQL Server è configurata per l'utilizzo di SQL Server e della modalità di autenticazione di Windows. Se specifichi -U sa, posso accedere correttamente, ma mi piacerebbe usare l'autenticazione di Windows. La connessione tramite SSMS con l'autenticazione di Windows sembra funzionare correttamente.

risposta

6

ho avuto questo problema ed è stato perché la macchina che esegue il depliant applicazione attendibile per la delega sul dominio Active Directory. Se si tratta di un'app .net in esecuzione con un'identità del pool di applicazioni DOMAIN_application.environment, ad esempio, l'identità non può effettuare chiamate a SQL a meno che la macchina non sia attendibile.

+0

Non ho avuto il tempo di controllare questo, ma questa sembra essere la causa più probabile. –

+46

come si risolve questo? –

+0

Questa potrebbe essere una soluzione simile: http://stackoverflow.com/a/11248883/62072 –

5

Non sta passando le credenziali per sqlcmd.exe

Quindi si sta cercando di autenticare si utilizzando le credenziali Windows Login, ma non si deve avere la configurazione di SQL Server per accettare tali credenziali ...

Quando si stavano installando, si avrebbe dovuto fornire una password Server Admin (per l'account sa)

Try ...

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

per riferimento, ci sono ulteriori dettagli here ...

+0

L'istanza di SQL Server è configurato per utilizzare la modalità di autenticazione di Windows SQL Server e. Se si specifica -U sa, quindi posso accedere correttamente, ma mi piacerebbe utilizzare l'autenticazione di Windows. La connessione tramite SSMS con l'autenticazione di Windows sembra funzionare correttamente .. –

0

Specificare un nome utente e una password per accedere? Qual è esattamente la tua linea di comando completa?

Se si esegue la propria casella, è possibile specificare un nome utente/password oppure utilizzare il parametro -E per accedere con le credenziali di Windows (se sono consentite nell'installazione del server SQL).

Marc

+0

La riga di comando completa è come postata nella domanda, nient'altro. -E non sembra fare alcuna differenza, lo stesso errore viene generato. –

+0

Il tuo utente corrente in cui sei in esecuzione sul tuo DEVBOX è stato aggiunto a SQL Server come "accesso"? –

+0

Sì, l'account Windows AD è stato aggiunto come accesso al server con tutti i ruoli del server. –

1

Il tuo errore è letteralmente dicendo: "si sta cercando di utilizzare l'autenticazione di Windows, ma i dati di accesso non è da un dominio trusted". Che è strano, perché ti stai connettendo al computer locale.

Forse hai effettuato l'accesso a Windows utilizzando un account locale anziché un account di dominio? Assicurati di eseguire l'accesso con un account di dominio che sia anche un'entità di SQL Server nell'istanza SQL2008.

+0

Ho effettuato l'accesso a Windows utilizzando un account di dominio che è anche un'entità server nell'istanza 2008. –

2

appena provato questo:

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

" \ SQL2008" . e funziona .. (Ho la directory Microsoft SQL Server \ 100 \ Tools \ Binn nel mio percorso).

Ancora non so perché la versione di SQL Server 2008 di SQLCMD non funziona però ..

3

Nel mio caso, questo errore è stato causato dalla ridenominazione del computer client. Ho usato un nuovo nome più lungo di 13 caratteri (nonostante l'avviso), che ha portato il nome NETBIOS a essere troncato e diverso dal nome completo della macchina. Una volta rinominato il client con un nome più breve, l'errore è andato via.

0

mi è stato sempre questo errore troppo, anche se il mio problema è stato che ho mantenuto il passaggio tra due reti aziendali tramite il mio Virtual Machine, con credenziali di accesso differenti. Ho dovuto correre il prompt dei comandi:

ipconfig /renew 

Dopo questo i miei problemi di rete sono stati risolti e ho potuto collegare ancora una volta a SQL.

0

appena trovato questa discussione e pubblicato una risposta alternativa (copiato sotto) qui: https://stackoverflow.com/a/37853766/1948625

In particolare su questa questione, se il punto "." utilizzato nel valore -S della riga di comando ha lo stesso significato 127.0.0.1 , quindi potrebbe essere lo stesso problema della stringa di connessione dell'altra domanda. Utilizzare invece il nome host o controllare il file hosts.


Vecchia domanda ei miei sintomi sono leggermente diversi, ma lo stesso errore. La mia stringa di connessione era corretta (sicurezza integrata e non fornisco utente e pwd) con data source impostato su 127.0.0.1. Ha funzionato bene per anni.

Ma recentemente ho aggiunto una riga nel file host statico a scopo di test (C:\Windows\System32\drivers\etc\hosts)

127.0.0.1   www.blablatestsite.com 

rimozione di questa linea e l'errore è andato.

ho la minima idea da questo articolo (https://support.microsoft.com/en-gb/kb/896861) che parla di nomi host e di loopback.

Altre possibili correzioni (se è necessario mantenere tale riga nel file hosts) è utilizzare il nome host (ad esempio MYSERVER01) anziché 127.0.0.1 nello data source della stringa di connessione.