Se il server rileva un errore che impedisce la riuscita dell'accesso, il client visualizzerà il seguente messaggio di errore.
Msg 18456, Level 14, State 1, Server <server name>, Line 1
Login failed for user '<user name>'
- Questo di solito significa che la tua richiesta di connessione è stata ricevuta correttamente dal nome del server che hai specificato ma il server non è in grado di concederti l'accesso per una serie di motivi e genera un errore:18456.
- Questo eventID a volte fornisce anche lo stato 1 che in realtà non è così utile poiché per motivi di sicurezza qualsiasi errore viene convertito nello stato 1 a meno che tu non possa controllare la registrazione sul server.
- Microsoft non fornisce finestre di messaggio molto utili, quindi di seguito sono riportate alcune spiegazioni del motivo per cui viene visualizzato l'errore.
ID utente non valido: SQL Server non è in grado di trovare l'ID utente specificato nel server che stai tentando di ottenere. La causa più comune è che a questo ID utente non è stato concesso l'accesso al server, ma potrebbe trattarsi anche di un semplice errore di battitura o stai tentando accidentalmente di connetterti a un server diverso (tipico se utilizzi più di un server)
Password non valida: Password errata o solo un errore di battitura. Ricorda che questo nome utente può avere password diverse su server diversi.
errori meno comuni: L'ID utente potrebbe essere disabilitato sul server. L'accesso a Windows è stato fornito per l'autenticazione SQL (passa all'autenticazione di Windows. Se utilizzi SSMS, potresti dover eseguire come utente diverso per utilizzare questa opzione). La password potrebbe essere scaduta e probabilmente molti altri motivi….
18456 spiegazioni dello stato 1: Di solito Microsoft SQL Server ti darà lo stato di errore 1 che in realtà non significa nulla a parte il fatto che hai un errore 18456. Lo stato 1 viene utilizzato per nascondere lo stato attuale al fine di proteggere il sistema, il che per me ha senso. Di seguito è riportato un elenco con tutti i diversi stati e per ulteriori informazioni sul recupero di stati accurati, visitare Informazioni sui messaggi di errore "accesso non riuscito" (Errore 18456) in SQL Server 2005
Autenticazione SQL non abilitata: Se utilizzi SQL Login per la prima volta sull'istanza di SQL Server, molto spesso si verifica l'errore 18456 perché l'autenticazione di Windows (solo) è impostata nelle proprietà del server (sezione di sicurezza).
Per accedere alle proprietà del server,- Apri SQL Server Management Studio, vai al riquadro Esplora oggetti (usa la vista se non riesci a vederlo).- Usa il pulsante di connessione per connetterti al motore di database per il tuo server. Una volta connesso, lo vedrai in Esplora oggetti.- Fai clic con il pulsante destro del mouse sul server e fai clic su Proprietà. Apparirà la finestra delle proprietà del server.
Vedi sotto lo screenshot che potrebbe causare il fallimento dell'accesso SQL
È necessario impostare Autenticazione server su Autenticazione Windows di SQL Server
Per risolvere questo errore, segui i passaggi seguenti su computer con SQL Server 2005.
- Crea nuovo utente con privilegio di amministratore con lo stesso nome utente e password di SQL Server 2008 nel sistema operativo.
- Nel database di SQL Server crea un nuovo utente espandendo DatabaseNode>> Sicurezza>> Login>> - Crea nuovo utente e aggiungi questo nuovo utente con il pulsante di opzione Autenticazione Windows selezionato. - Questo utente può essere aggiunto solo tramite l'autenticazione di Windows selezionata, è l'accesso utente del sistema operativo.
- Una volta completati i due passaggi precedenti, una volta effettuata la connessione da SQL Server 2008 a SQL Server 2005 tramite l'autenticazione di Windows, la connessione verrà eseguita correttamente.
Come risolvere? Controlla questo link video Pagina della modalità di autenticazione di SQL Server e Windows.