Par défaut, le message d'erreur d'échec de connexion n'est rien d'autre qu'une connexion d'utilisateur client a été refusée par le serveur en raison d'une non-concordance des informations de connexion. La première tâche que vous pouvez vérifier est de voir si cet utilisateur dispose des privilèges appropriés sur cette instance SQL Server et sur la base de données pertinente également, c'est bien. Évidemment, si les privilèges nécessaires ne sont pas définis, vous devez résoudre ce problème en accordant les privilèges appropriés pour cette connexion utilisateur.
Bien que si cet utilisateur dispose des autorisations appropriées sur la base de données et le serveur si le serveur rencontre des problèmes d'informations d'identification pour cette connexion, il l'empêchera de redonner l'authentification à SQL Server, le client recevra le message d'erreur suivant:
Msg 18456, Level 14, State 1, Server <ServerName>, Line 1
Login failed for user '<Name>'
Ok maintenant quoi, en regardant le message d'erreur, vous sentez que c'est non descriptif pour comprendre le niveau et l'état. Par défaut, l'erreur du système d'exploitation affichera «État» comme 1 quelle que soit la nature des problèmes d'authentification de la connexion. Par conséquent, pour approfondir votre recherche, vous devez également consulter le journal des erreurs d'instance SQL Server pertinent pour plus d'informations sur la gravité et l'état de cette erreur. Vous pouvez rechercher une entrée correspondante dans le journal comme:
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>'.
Comme défini ci-dessus, les colonnes Gravité et État de l'erreur sont essentielles pour trouver le reflet précis de la source du problème. Sur l'erreur ci-dessus, le numéro 8 pour l'état indique un échec d'authentification en raison d'une incompatibilité de mot de passe. La documentation en ligne fait référence: par défaut, les messages définis par l'utilisateur dont la gravité est inférieure à 19 ne sont pas envoyés au journal des applications Microsoft Windows lorsqu'ils se produisent. Les messages définis par l'utilisateur dont la gravité est inférieure à 19 ne déclenchent donc pas d'alertes de l'Agent SQL Server.
Sung Lee, Program Manager in SQL Server Protocols (Dev.team) a donné plus d'informations sur la description de l'état d'erreur: Les états d'erreur courants et leurs descriptions sont fournis dans le tableau suivant:
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>'.
Vous pouvez voir qu'aucune gravité ou niveau d'état n'est défini à partir du journal des erreurs de cette instance SQL Server. La prochaine option de dépannage consiste donc à consulter le journal de sécurité de l'Observateur d'événements [modifier car la capture d'écran est manquante mais vous obtenez le
idée, regardez dans le journal des événements pour des événements intéressants].