Per impostazione predefinita, il messaggio di errore di accesso non riuscito non è altro che una connessione utente client è stata rifiutata dal server a causa della mancata corrispondenza delle credenziali di accesso. La prima attività che potresti controllare è vedere se quell'utente dispone dei privilegi rilevanti su quell'istanza di SQL Server e anche sul database pertinente, va bene. Ovviamente se i privilegi necessari non sono stati impostati, è necessario risolvere il problema concedendo i privilegi pertinenti per l'accesso dell'utente.
Anche se se quell'utente dispone di autorizzazioni rilevanti sul database e sul server, se il server riscontra problemi di credenziali per tale accesso, impedirà di concedere l'autenticazione a SQL Server, il client riceverà il seguente messaggio di errore:
Msg 18456, Level 14, State 1, Server <ServerName>, Line 1
Login failed for user '<Name>'
Ok ora che cosa, guardando il messaggio di errore ti sembra che questo non sia descrittivo per capire il livello e lo stato. Per impostazione predefinita, l'errore del sistema operativo mostrerà "Stato" come 1 indipendentemente dalla natura dei problemi nell'autenticazione dell'accesso. Quindi, per indagare ulteriormente, è necessario esaminare anche il log degli errori dell'istanza di SQL Server pertinente per ulteriori informazioni sulla gravità e lo stato di questo errore. Potresti esaminare una voce corrispondente nel registro come:
2007-05-17 00:12:00.34 Logon Error: 18456, Severity: 14, State: 8.
or
2007-05-17 00:12:00.34 Logon Login failed for user '<user name>'.
Come definito sopra, le colonne Gravità e Stato sull'errore sono fondamentali per trovare il riflesso accurato dell'origine del problema. Il numero di errore 8 sopra per lo stato indica un errore di autenticazione a causa di una mancata corrispondenza della password. La documentazione in linea si riferisce: per impostazione predefinita, i messaggi definiti dall'utente di gravità inferiore a 19 non vengono inviati al registro dell'applicazione Microsoft Windows quando si verificano. I messaggi definiti dall'utente di gravità inferiore a 19 pertanto non attivano gli avvisi di SQL Server Agent.
Sung Lee, Program Manager in SQL Server Protocols (Dev.team) ha delineato ulteriori informazioni sulla descrizione dello stato di errore: Gli stati di errore comuni e le relative descrizioni sono forniti nella tabella seguente:
ERROR STATE ERROR DESCRIPTION
------------------------------------------------------------------------------
2 and 5 Invalid userid
6 Attempt to use a Windows login name with SQL Authentication
7 Login disabled and password mismatch
8 Password mismatch
9 Invalid password
11 and 12 Valid login but server access failure
13 SQL Server service paused
18 Change password required
Well I'm not finished yet, what would you do in case of error:
2007-05-17 00:12:00.34 Logon Login failed for user '<user name>'.
È possibile vedere che non è stato definito alcun livello di gravità o stato dal log degli errori dell'istanza di SQL Server. Quindi la prossima opzione per la risoluzione dei problemi è esaminare il registro di sicurezza del Visualizzatore eventi [modifica perché la schermata non è presente ma ottieni l'estensione
idea, guarda nel registro eventi per eventi interessanti].