Si le serveur rencontre une erreur qui empêche une connexion réussie, le client affichera le message d'erreur suivant.
Msg 18456, Level 14, State 1, Server <server name>, Line 1
Login failed for user '<user name>'
- Cela signifie généralement que votre demande de connexion a été reçue avec succès par le nom de serveur que vous avez spécifié, mais que le serveur n'est pas en mesure de vous accorder l'accès pour un certain nombre de raisons et renvoie l'erreur :18456.
- Cet ID d'événement fournit parfois également l'état 1 qui n'est en fait pas très utile car, pour des raisons de sécurité, toute erreur est convertie en état 1, sauf si vous pouvez vérifier la journalisation sur le serveur.
- Microsoft ne fournit pas de boîtes de message très utiles. Vous trouverez ci-dessous quelques explications sur la raison pour laquelle vous obtenez l'erreur.
ID utilisateur non valide : SQL Server n'est pas en mesure de trouver l'ID utilisateur spécifié sur le serveur que vous essayez d'obtenir. La cause la plus fréquente est que cet ID utilisateur n'a pas été autorisé à accéder au serveur, mais cela peut aussi être une simple faute de frappe ou vous essayez accidentellement de vous connecter à un serveur différent (typique si vous utilisez plus d'un serveur)
Mot de passe invalide : Mauvais mot de passe ou juste une faute de frappe. N'oubliez pas que ce nom d'utilisateur peut avoir des mots de passe différents sur différents serveurs.
erreurs moins courantes : L'ID utilisateur est peut-être désactivé sur le serveur. La connexion Windows a été fournie pour l'authentification SQL (passez à l'authentification Windows. Si vous utilisez SSMS, vous devrez peut-être exécuter en tant qu'utilisateur différent pour utiliser cette option). Le mot de passe a peut-être expiré et probablement plusieurs autres raisons….
18456 explications de l'état 1 : Habituellement, Microsoft SQL Server vous donnera l'état d'erreur 1, ce qui ne signifie rien à part que vous avez l'erreur 18456. L'état 1 est utilisé pour masquer l'état réel afin de protéger le système, ce qui pour moi est logique. Vous trouverez ci-dessous une liste avec tous les états différents et pour plus d'informations sur la récupération d'états précis, visitez Comprendre les messages d'erreur "Échec de la connexion" (Erreur 18456) dans SQL Server 2005
Authentification SQL non activée : Si vous utilisez SQL Login pour la première fois sur une instance SQL Server, l'erreur 18456 se produit très souvent car l'authentification Windows (uniquement) est définie dans les propriétés du serveur (section sécurité).
Pour accéder aux propriétés du serveur, - Ouvrez SQL Server Management Studio, accédez au volet Explorateur d'objets (utilisez la vue si vous ne pouvez pas le voir). - Utilisez le bouton de connexion pour vous connecter au moteur de base de données de votre serveur. Une fois connecté, vous le verrez dans l'explorateur d'objets. - Faites un clic droit sur le serveur et cliquez sur les propriétés. La fenêtre Propriétés du serveur apparaîtra.
Voir ci-dessous la capture d'écran qui pourrait entraîner l'échec de la connexion SQL
Vous devez définir l'authentification du serveur sur l'authentification Windows SQL Server
Pour résoudre cette erreur, suivez les étapes ci-dessous sur un ordinateur avec SQL Server 2005.
- Créer un nouvel utilisateur avec des privilèges d'administrateur avec le même nom d'utilisateur et le même mot de passe qu'à partir de SQL Server 2008 dans le système d'exploitation.
- Sur la base de données SQL Server, créez un nouvel utilisateur en développant DatabaseNode>> Sécurité>> Connexion>> - Créez un nouvel utilisateur et ajoutez ce nouvel utilisateur avec le bouton radio Authentification Windows sélectionné. - Cet utilisateur ne peut être ajouté que par l'authentification Windows sélectionnée, il s'agit de la connexion utilisateur du système d'exploitation.
- Une fois les deux étapes ci-dessus terminées, la connexion de SQL Server 2008 à SQL Server 2005 à l'aide de l'authentification Windows aboutira à la connexion.
Comment réparer? Consultez cette vidéo de lien Page du mode d'authentification SQL Server et Windows.