Erreur de connexion à Microsoft SQL Server: 18456

295

J'obtiens cette erreur en essayant de me connecter au serveur SQL.

Erreur Microsoft SQL Server: 18456

Quelqu'un peut-il me dire ce que signifie le code d'erreur?

merazuu
la source
6
Une recherche rapide semble indiquer que le code d'erreur est un échec de connexion et est généralement accompagné d'informations plus détaillées.
David
Et ces informations plus détaillées devraient être dans le journal des erreurs du serveur SQL. Le nombre lui-même ne vous dit délibérément pas grand-chose, donc les crackers ne peuvent pas l'utiliser pour savoir où leurs tentatives vont mal.
Tony Hopkinson
informations utiles trouvées ici
sairfan
1
Je devais justerun as administrator
Jacksonkr
il suffit de vérifier cette solution: stackoverflow.com/questions/41386538/…
Akash Singh Sengar

Réponses:

706

Si vous essayez de vous connecter à l'aide de «l'authentification SQL Server», vous souhaiterez peut-être modifier l'authentification de votre serveur:

Dans Microsoft SQL Server Management Studio dans l'explorateur d'objets:

  1. Faites un clic droit sur le serveur et cliquez sur Properties

  2. Aller à la Securitypage

  3. Sous Server authenticationchoisissez le SQL Server and Windows Authentication modebouton radio

  4. Cliquez sur OK

  5. Redémarrez les services SQL

Ali Kashanchi
la source
32
Merci. Dommage qu'il n'y ait aucun message d'avertissement lorsque vous essayez d'ajouter des utilisateurs.
JohnnyBizzle
12
Que voulez-vous dire exactement "Serveur de clic droit et propriétés de clic" où est-ce?
emcor
9
Il signifie le nœud supérieur de votre explorateur d'objets - le cylindre jaune avec le bouton de lecture
JGilmartin
21
C'est un problème très courant que les gens rencontrent. Le fait que vous puissiez créer des connexions SQL Server au contenu de votre cœur sans vous rendre compte que ce paramètre simple est désactivé est plutôt déroutant IMO. Je recommanderais cela comme la bonne réponse.
7
@JGilmartin, Comment pourrez-vous vous connecter exactement au serveur dans l'Explorateur d'objets lorsque vous avez l'erreur 18456, ce qui signifie que vous ne pouvez pas vous connecter ?
Shai Alon
69

Consultez cet article de blog de l'équipe de la plateforme de données.

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

Vous avez vraiment besoin de regarder la partie état du message d'erreur pour trouver la cause première du problème.

2, 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, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required

Ensuite, Google comment résoudre le problème.

CRAFTY DBA
la source
42
Pas pour tirer mon propre klaxon, mais j'ai compilé beaucoup plus d'informations ici: sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/…
Aaron Bertrand
Tu te fais toujours du klaxon ... Merci pour le vote positif? Mais votre liste semble être plus complète! Je pense que la plupart des gens ne savent pas comment utiliser Google.
CRAFTY DBA
1
J'ai été tenté de voter, mais je suis déchiré parce que répondre aux questions auxquelles Google pourrait répondre ne fait qu'encourager les gens à continuer de poser des questions ici au lieu de chercher ...
Aaron Bertrand
13
99% des questions ici pourraient probablement être répondues par Google, mais une simple question et réponse permet d'économiser beaucoup de temps de recherche et de verser sur des articles / blogs souvent superflus, et donc un vote de ma part!
Chris Nevill
12
ICI c'est là que je trouve les réponses quand j'utilise google (google recherche TELLEMENT mieux que SO recherche SO ...)
Cos Callis
27

Avant d'ouvrir, cliquez avec le bouton droit et choisissez «Exécuter en tant qu'administrateur». Cela a résolu le problème pour moi.

Gsic
la source
1
c'était la solution pour moi. J'avais State: 1dans le message d'erreur.
GraehamF
@Gsic Vous êtes un vrai sauveur. Je lutte depuis plus d'une journée et votre solution l'a résolu. Merci
Karthik
Avant d'ouvrir quoi ??
Mike
11

voyez d'abord les détails de l'erreur si "état" est "1" Assurez-vous que la base de données est définie pour l'authentification SQL et Windows sous SQL server / Propriétés / Sécurité.

pour les autres états, voir les réponses ci-dessus ....

Ahmad Jahanbin
la source
1
Merci OMG! Aucune de mes connexions ne fonctionnait, puis je suis tombé sur cette réponse et j'ai découvert que mon instance SQL Express était passée de "l'authentification SQL et Windows" à "l'authentification Windows". Changé en arrière et tous les travaux.
Ian Kemp
1
De plus, la fermeture de SSMS ne suffit pas, un redémarrage du service SqlServer est requis pour que la modification prenne effet.
Ravid Goldenberg
10

J'ai fait face à ce problème.

Veuillez regarder l'image ci-jointe,

Étape 1: accédez à la propriété du serveur

Étape 2: accédez à la sécurité

Étape 3: modifier l'authentification du serveur en tant que serveur SQL et mode d'authentification Windows

et redémarrez votre serveur SQL.

entrez la description de l'image ici

Neo Vijay
la source
9
  1. Vérifiez si l'authentification en mode mixte est activée dans votre serveur-> propriétés
  2. Créez ensuite un login dans le serveur-> sécurité
  3. créer un utilisateur pour cette connexion dans votre base de données
  4. Redémarrez ensuite votre serveur en cliquant avec le bouton droit sur l'instance et sélectionnez redémarrer
Nagaraj Raveendran
la source
5

Je viens de m'arriver et je me suis avéré différent de tous les autres cas énumérés ici.

Il se trouve que j'ai deux serveurs virtuels hébergés dans le même cluster, chacun avec sa propre adresse IP. L'hôte a configuré l'un des serveurs pour être le serveur SQL, et l'autre pour être le serveur Web. Cependant, SQL Server est installé et fonctionne sur les deux. L'hôte a oublié de mentionner lequel des serveurs est le SQL et lequel est le Web, j'ai donc supposé que le premier est le Web, le second est le SQL.

Lorsque je me suis connecté à (ce que je pensais) SQL Server et essayé de me connecter via SSMS, en choisissant l'authentification Windows, j'ai eu l'erreur mentionnée dans cette question. Après avoir tiré beaucoup de cheveux, je suis passé en revue tous les paramètres, y compris la configuration réseau SQL Server, les protocoles pour MSSQLSERVER:

capture d'écran de la configuration TCP / IP

Double-cliquer sur TCP / IP m'a donné ceci:

Propriétés TCP / IP, affichant une adresse IP incorrecte

L'adresse IP était celle de l'autre serveur virtuel! Cela m'a finalement fait réaliser que j'avais simplement confondu les serveurs et que tout fonctionnait bien sur le deuxième serveur.

L'assistant de l'ombre est à votre écoute
la source
4

Si vous modifiez les informations d'identification d'un utilisateur de connexion ou ajoutez un nouvel utilisateur de connexion, après avoir besoin de vous connecter, vous devrez redémarrer le service SQL Server. pour ça

ALLER à -> Services ligne de couleur grise

Ensuite, allez dans SQL Server (MSSQLSERVER) et arrêtez et redémarrez

Maintenant, essayez de vous connecter, j'espère que vous le pouvez.

Merci

dush88c
la source
3

Liste des états d'erreur 18456

ÉTAT D'ERREUR DESCRIPTION D'ERREUR

  • Etat 2 et état 5 ID utilisateur non valide
  • État 6 Tentative d'utilisation d'un nom de connexion Windows avec l'authentification SQL
  • Connexion à l'état 7 désactivée et incompatibilité de mot de passe
  • État 8 non-concordance de mot de passe
  • État 9 Mot de passe invalide
  • État 11 et état 12 Connexion valide mais échec d'accès au serveur
  • État du service SQL Server 13 suspendu
  • État 18 Changer le mot de passe requis

Causes potentielles Vous trouverez ci-dessous une liste de raisons et une brève explication que faire:

Authentification SQL non activée : si vous utilisez la connexion SQL pour la première fois sur une instance SQL Server, l'erreur 18456 se produit très souvent car le serveur peut être défini en mode d'authentification Windows (uniquement).

Comment réparer ? Vérifiez cette page SQL Server et le mode d'authentification Windows.

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 courante est que cet ID utilisateur n'a pas été autorisé à accéder au serveur, mais cela peut également être une simple faute de frappe ou si vous essayez accidentellement de vous connecter à un serveur différent (typique si vous utilisez plusieurs serveurs)

Mot de passe invalide: mot de passe incorrect ou juste une faute de frappe. N'oubliez pas que ce nom d'utilisateur peut avoir différents mots de passe sur différents serveurs.

erreurs moins courantes: l'ID utilisateur 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…. Si vous en connaissez d'autres, faites-le moi savoir.

Explications de l'état 1 de 18456: généralement, Microsoft SQL Server vous donnera l'état d'erreur 1, ce qui ne signifie rien d'autre que l'erreur 18456. L'état 1 est utilisé pour masquer l'état réel afin de protéger le système, ce qui me semble logique. Vous trouverez ci-dessous une liste avec tous les différents états et pour plus d'informations sur la récupération d'états précis, visitez la page Présentation des messages d'erreur «Échec de la connexion» (erreur 18456) dans SQL Server 2005

J'espère que cela pourra aider

mohammad ha
la source
2

Cliquez avec le bouton droit sur l'utilisateur, allez dans les propriétés, changez la base de données par défaut en master Ceci est la copie d'écran de l'image qui montre ce que vous devez vérifier si vous avez l'erreur 19456. Parfois, il s'agit par défaut d'une base de données que l'utilisateur n'a pas autorisation

Safari Devs
la source
2

Tout d'abord, allez dans la barre de démarrage, puis recherchez les services locaux, puis cliquez sur "Afficher les services locaux". Ensuite, il ouvrira la fenêtre de service, puis accédez à SQL Server (MSSQLSERVER), faites un clic droit dessus et cliquez sur Arrêter, puis faites un clic droit dessus et cliquez sur Démarrer. Vous pouvez maintenant vous connecter et mettre votre nom d'utilisateur en tant que «sa» et le mot de passe est votre mot de passe gagné.

Nilachal Sethi
la source
1

Veuillez vérifier si vous êtes connecté au réseau s'il s'agit d'un PC membre du domaine. Assurez-vous également que vous n'êtes pas sur un double ordinateur personnel car vos itinéraires peuvent être incorrects en raison des mesures du réseau. J'ai eu ce problème lorsque je n'ai pas pu me connecter au domaine, l'authentification SQL Windows est passée au compte PC local, mais l'a enregistré en tant qu'authentification SQL. Une fois que j'ai désactivé mon adaptateur sans fil et redémarré, l'intégration de Windows est revenue au compte de domaine et s'est authentifiée correctement. J'avais déjà configuré le mode mixte comme vous l'aviez déjà fait, donc les messages précédents ne s'appliquent pas.

Tim Robinson
la source
1

Pour moi, c'était un login et un mot de passe incorrects .

JerryGoyal
la source
0

Je crois que cela peut se produire si vous essayez de vous connecter avec un utilisateur défini dans Active Directory, mais essayez d'utiliser "Authentification SQL Server" dans l'écran de connexion. Je ne sais pas comment spécifier un autre utilisateur avec l'authentification NTLM / Windows: lorsque je clique sur la liste déroulante Authentification Windows, le nom d'utilisateur et le mot de passe sont supprimés et je ne peux me connecter que moi-même.

stolsvik
la source
0

Dans mon cas, plusieurs tentatives incorrectes ont verrouillé le compte.Pour ce faire, j'ai essayé d'exécuter la requête ci-dessous et cela a fonctionné: ALTER LOGIN WITH PASSWORD = UNLOCK Et assurez-vous de définir l'option "Enforce Password Security" pour qu'un utilisateur spécifique soit décoché par clic droit sur Sql Server -> Propriétés.

Tanay Khede
la source
0

Dépannage de la connexion SQL Server

Dans le cas où vous ne pouvez pas vous connecter avec l'authentification SQL et que vous avez essayé les autres solutions.

Vous pouvez essayer ce qui suit:

Vérifier la connectivité

  • Désactivez le pare-feu.
  • Exécutez PortQry sur 1434 et vérifiez la réponse.

Vérifiez l'état

  • Essayez de vous connecter avec SSMS ou sqlcmd et vérifiez le message.
  • L'état 1 est rarement documenté, mais cela signifie simplement que vous n'avez pas le droit de connaître le véritable état.
  • Regardez le fichier journal dans le répertoire du serveur SQL pour savoir quel est l'état.

L'État 5

Quelle ? ma connexion n'existe pas? c'est juste là, je peux le voir dans SSMS. Comment est-ce possible?

L'explication la plus probable est la plus susceptible d'être la bonne.

L'état de la connexion

  • Détruisez-le, recréez-le, activez-le.
  • réinitialiser le mot de passe.

Ou...

"Vous ne regardez pas au bon endroit" ou "ce que vous voyez n'est pas ce que vous pensez".

Le conflit DB local et SQLEXPRESS

Si vous vous connectez avec SSMS avec l'authentification Windows et que votre instance est nommée SQLEXPRESS, vous regardez probablement LocalDb et non le bon serveur . Vous venez donc de créer votre identifiant sur LocalDb.

Lorsque vous vous connectez via l'authentification SQL Server avec SSMS, il essaiera de se connecter au serveur réel SQLEXPRESS où votre connexion bien-aimée n'existe pas encore.

Remarque supplémentaire: vérifiez l'onglet des paramètres de connexion si vous n'avez pas oublié une chaîne de connexion étrange.

Fab
la source
0

J'ai fait face au même problème. Vous devez d'abord activer l'authentification en mode mixte. Pour plus de détails Comment activer l'authentification en mode mixte

user3603622
la source
Bien que le lien puisse avoir la réponse, veuillez modifier votre réponse et fournir plus de détails ou vous risquez des votes négatifs
Tae
0

Une autre solution qui a fonctionné pour moi. serever->security->logins->new logins->General->créez votre nom d'utilisateur comme nom de connexion, cliquez sur l'authentification du serveur sql ajouter des mots de passe

décochez les trois cases de vérification du mot de passe. Cela fonctionnera.

N'oubliez pas de modifier les propriétés du serveur -> Sécurité de Server authenticationàSQL Server and Windows Authentication mode

chamzz.dot
la source
0

vous pouvez faire sous linux pour mssql changer le mot de passe pour le compte sa

configuration sudo / opt / mssql / bin / mssql-conf

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.
Arnav
la source
0

J'ai eu cette erreur après avoir créé un nouvel utilisateur sysadmin sous mon instance SQL. Mon utilisateur administrateur a été créé sous un domaine spécifique MyOrganization / useradmin

L'utilisation de useradmin sur un environnement déconnecté vous permet de créer d'autres utilisateurs à l'aide de l'authentification SQL Server, mais dès que vous essayez de vous connecter, vous obtenez

Erreur Microsoft SQL Server: 18456

Pour résoudre le problème, essayez de vous reconnecter à votre réseau d'organisation et de créer l'utilisateur pendant que vous êtes connecté, puis vous pourrez vous déconnecter et fonctionnera.

Zinov
la source