MSSQLSERVER_18456MSSQLSERVER_18456

DettagliDetails

Nome prodottoProduct Name SQL ServerSQL Server
ID eventoEvent ID 1845618456
Origine eventoEvent Source MSSQLSERVERMSSQLSERVER
ComponenteComponent SQLEngineSQLEngine
Nome simbolicoSymbolic Name LOGON_FAILEDLOGON_FAILED
Testo del messaggioMessage Text Accesso non riuscito per l'utente '%.ls'.%.\lsLogin failed for user '%.ls'.%.\ls

SpiegazioneExplanation

Quando un tentativo di connessione viene rifiutato a causa di un errore di autenticazione dovuto a una password o un nome utente errati, viene restituito al client un messaggio simile al seguente: "Accesso non riuscito per l'utente "".When a connection attempt is rejected because of an authentication failure that involves a bad password or user name, a message similar to the following is returned to the client: "Login failed for user ''. (Microsoft SQL Server, Errore: 18456)."(Microsoft SQL Server, Error: 18456)".

Al client vengono restituite informazioni aggiuntive tra cui le seguenti:Additional information returned to the client includes the following:

"Accesso non riuscito per l'utente ''"Login failed for user ''. (provider di dati SqlClient .Net)"(.Net SqlClient Data Provider)"

------------------------------

"Nome server: ""Server Name: "

"Numero errore: 18456""Error Number: 18456"

"Gravità: 14""Severity: 14"

"Stato: 1""State: 1"

"Numero riga: 65536""Line Number: 65536"

Può essere inoltre restituito il messaggio seguente:The following message might also be returned:

"Messaggio 18456, livello 14, stato 1, server , riga 1""Msg 18456, Level 14, State 1, Server , Line 1"

"Accesso non riuscito per l'utente ''"."Login failed for user ''."

Informazioni aggiuntive sull'erroreAdditional Error Information

Per aumentare il livello di sicurezza, il messaggio di errore restituito al client nasconde deliberatamente la natura dell'errore di autenticazione.To increase security, the error message that is returned to the client deliberately hides the nature of the authentication error. Tuttavia, nel log degli errori di SQL ServerSQL Server per ogni errore viene indicato lo stato corrispondente tramite cui viene eseguito il mapping alla condizione di errore di autenticazione.However, in the SQL ServerSQL Server error log, a corresponding error contains an error state that maps to an authentication failure condition. Confrontare lo stato di errore restituito con l'elenco seguente per determinare il motivo dell'errore di accesso.Compare the error state to the following list to determine the reason for the login failure.

StateState DescriptionDescription
11 Non sono disponibili informazioni sull'errore.Error information is not available. Questo stato in genere indica che non si dispone dell'autorizzazione a ricevere i dettagli dell'errore.This state usually means you do not have permission to receive the error details. Per ulteriori informazioni, contattare l'amministratore di SQL ServerSQL Server.Contact your SQL ServerSQL Server administrator for more information.
22 L'ID utente non è valido.User ID is not valid.
55 L'ID utente non è valido.User ID is not valid.
66 Si è tentato di utilizzare un account di accesso di Windows con l'autenticazione di SQL Server.An attempt was made to use a Windows login name with SQL Server Authentication.
77 L'account di accesso è disabilitato e la password non è corretta.Login is disabled, and the password is incorrect.
88 La password non è corretta.The password is incorrect.
99 La password non è valida.Password is not valid.
1111 L'account di accesso è valido, ma l'accesso al server ha avuto esito negativo.Login is valid, but server access failed. Una possibile causa di questo errore è quando l'utente di Windows dispone dell'accesso a SQL ServerSQL Server come un membro del gruppo Administrators locale, ma Windows non fornisce le credenziali di amministratore.One possible cause of this error is when the Windows user has access to SQL ServerSQL Server as a member of the local administrators group, but Windows is not providing administrator credentials. Per connettersi, avviare il programma di connessione usando l'opzione Esegui come amministratore e quindi aggiungere l'utente di Windows a SQL ServerSQL Server come accesso specifico.To connect, start the connecting program using the Run as administrator option, and then add the Windows user to SQL ServerSQL Server as a specific login.
1212 L'account di accesso è valido, ma l'accesso al server ha avuto esito negativo.Login is valid login, but server access failed.
1818 È necessario modificare la password.Password must be changed.
38, 4638, 46 Impossibile trovare il database richiesto dall'utente.Could not find database requested by user.
102 - 111102 - 111 Errore AAD.AAD failure.
122 - 124122 - 124 Errore a causa di password o nome utente vuoto.Failure due to empty user name or password.
126126 Il database richiesto dall'utente non esiste.Database requested by user does not exist.
132 - 133132 - 133 Errore AAD.AAD failure.

Esistono altri stati di errore che indicano un errore di elaborazione interno non previsto.Other error states exist and signify an unexpected internal processing error.

Possibile causa insolita aggiuntivaAn additional unusual possible cause

Il motivo dell'errore Tentativo di accesso tramite l'autenticazione di SQL Server non riuscito. Il server è configurato solo per l'autenticazione di Windows.The error reason An attempt to login using SQL authentication failed. Server is configured for Windows authentication only. può essere restituito nelle situazioni seguenti.can be returned in the following situations.

  • Quando il server è configurato per l'autenticazione in modalità mista, in una connessione ODBC viene utilizzato il protocollo TCP e tramite la connessione non viene specificato in modo esplicito che in essa deve essere utilizzata una connessione trusted.When the server is configured for mixed mode authentication, and an ODBC connection uses the TCP protocol, and the connection does not explicitly specify that the connection should use a trusted connection.

  • Quando il server è configurato per l'autenticazione in modalità mista, in una connessione ODBC vengono utilizzate named pipe, le credenziali utilizzate dal client per aprire la named pipe vengono utilizzate per rappresentare automaticamente l'utente e tramite la connessione non viene specificato in modo esplicito che in essa deve essere utilizzata una connessione trusted.When the server is configured for mixed mode authentication, and an ODBC connection uses named pipes, and the credentials the client used to open the named pipe are used to automatically impersonate the user, and the connection does not explicitly specify that the connection should use a trusted connection.

Per risolvere questo problema, includere TRUSTED_CONNECTION = TRUE nella stringa di connessione.To resolve this issue, include TRUSTED_CONNECTION = TRUE in the connection string.

EsempiExamples

In questo esempio, lo stato dell'errore di autenticazione è 8 eIn this example, the authentication error state is 8. indica che la password non è corretta.This indicates that the password is incorrect.

DataDate OrigineSource MessageMessage
2007-12-05 20:12:56.342007-12-05 20:12:56.34 AccessoLogon Errore: 18456, gravità: 14, stato: 8.Error: 18456, Severity: 14, State: 8.
2007-12-05 20:12:56.342007-12-05 20:12:56.34 AccessoLogon Accesso non riuscito per l'utente ''.Login failed for user ''. [CLIENT: ][CLIENT: ]
Nota

Se durante l'installazione di SQL ServerSQL Server si usa la modalità Autenticazione di Windows e successivamente si passa alla modalità Autenticazione di SQL ServerSQL Server e di Windows, l'account di accesso sa verrà inizialmente disabilitato.When SQL ServerSQL Server is installed using Windows Authentication mode and is later changed to SQL ServerSQL Server and Windows Authentication mode, the sa login is initially disabled. Ciò determina l'errore di stato 7: "Accesso non riuscito per l'utente "sa"." Per abilitare l'account di accesso sa, vedere Modifica della modalità di autenticazione del server.This causes the state 7 error: "Login failed for user 'sa'." To enable the sa login, see Change Server Authentication Mode.

Azione dell'utenteUser Action

Se si sta tentando di effettuare la connessione mediante l'autenticazione di SQL ServerSQL Server, verificare che SQL ServerSQL Server sia configurato in modalità Autenticazione mista.If you are trying to connect using SQL ServerSQL Server Authentication, verify that SQL ServerSQL Server is configured in Mixed Authentication Mode.

Se si sta tentando di effettuare la connessione mediante l'autenticazione di SQL ServerSQL Server , verificare che l'account di accesso a SQL ServerSQL Server esista e che non contenga errori di ortografia.If you are trying to connect using SQL ServerSQL Server Authentication, verify that SQL ServerSQL Server login exists and that you have spelled it properly.

Se si sta tentando di effettuare la connessione mediante l'autenticazione di Windows, verificare di essere connessi al dominio corretto.If you are trying to connect using Windows Authentication, verify that you are properly logged into the correct domain.

Se l'errore indica lo stato 1, contattare l'amministratore di SQL ServerSQL Server.If your error indicates state 1, contact your SQL ServerSQL Server administrator.

Se si tenta di eseguire la connessione usando le credenziali di amministratore, avviare l'applicazione usando l'opzione Esegui come amministratore.If you are trying to connect using your administrator credentials, start you application by using the Run as Administrator option. Dopo aver stabilito la connessione, aggiungere l'utente di Windows come singolo account di accesso.When connected, add your Windows user as an individual login.

Se il Motore di databaseDatabase Engine supporta i database indipendenti, verificare che l'account di accesso non sia stato eliminato dopo la migrazione a un utente del database indipendente.If the Motore di databaseDatabase Engine supports contained databases, confirm that the login was not deleted after migration to a contained database user.

Quando ci si connette in locale a un'istanza di SQL ServerSQL Server, le connessioni da servizi in esecuzione con NT AUTHORITY\NETWORK SERVICE devono essere autenticate usando computer con nomi di dominio completi.When connecting locally to an instance of SQL ServerSQL Server, connections from services running under NT AUTHORITY\NETWORK SERVICE must authenticate using the computers fully qualified domain name. Per altre informazioni, vedere How To: Use the Network Service Account to Access Resources in ASP.NET (Procedura: Usare l'account Servizio di rete per accedere alle risorse in ASP.NET)For more information, see How To: Use the Network Service Account to Access Resources in ASP.NET