SQL Server 2008 ne peut pas se connecter avec un utilisateur nouvellement créé

200

J'utilise Windows Vista et j'ai des difficultés à me connecter avec un utilisateur nouvellement créé.

  1. J'ouvre SQL Server Management Studio.
  2. Je crée une nouvelle connexion en cliquant avec le bouton droit sur Sécurité-> Connexions.
    Vérifiez: Authentification SQL Server
    Nom de connexion: testeur
    Mot de passe: test
    Cliquez sur OK
  3. J'ai ajouté cet utilisateur à User Mapping dans ma base de données de choix.
  4. Cliquez sur File -> Connect Object Explorer, sélectionnez SQL Server Authentication et entrez tester / test et cliquez sur Connect.

Je reçois une erreur:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

Qu'est-ce qui cause cette erreur et comment me connecter avec mon utilisateur?

Travis Heseman
la source

Réponses:

480

SQL Server n'a pas été configuré pour autoriser l'authentification mixte.

Voici les étapes à corriger:

  1. Cliquez avec le bouton droit sur l'instance SQL Server à la racine de l'Explorateur d'objets, cliquez sur Propriétés
  2. Sélectionnez Sécurité dans le volet gauche.
  3. Sélectionnez le bouton radio SQL Server et le mode d'authentification Windows, puis cliquez sur OK.

    entrez la description de l'image ici

  4. Cliquez avec le bouton droit sur l'instance SQL Server, sélectionnez Redémarrer (ou ouvrez les services et redémarrez le service SQL Server).

Cela est également incroyablement utile pour les utilisateurs d'IBM Connections, mes assistants n'ont pas pu se connecter jusqu'à ce que je fxe ce paramètre.

Travis Heseman
la source
8
Je pense que c'est bon car cela permet aux intervenants potentiels de savoir que le problème est résolu. Il contribue également à un volume croissant de documentation que d'autres développeurs peuvent utiliser pour trouver leurs propres réponses à l'avenir.
4
Ce n'est certainement pas mal de répondre à vos propres questions. Même des années après les données, votre réponse m'a été utile!
johanvdw
4
J'ai eu le même problème. Je cherchais une solution depuis des heures. J'ai tout essayé pour le résoudre, mais cela ne s'est pas produit. Ensuite, j'ai vu ce post. Je pensais que redémarrer le service est quelque chose que je n'ai pas essayé. J'ai donc redémarré le service et cela a fonctionné! Ensuite, je me suis connecté uniquement pour dire ... MERCI
Answer_42
16
Le blâme devrait être sur le message d'erreur ridicule. S'il avait dit quelque chose comme "Impossible de se connecter. L'authentification SQL Server n'est pas autorisée. Le serveur est configuré pour autoriser l'authentification Windows uniquement. Veuillez contacter ..." cela aurait sauvé beaucoup de douleur.
rpattabi
5
@Tony Intéressant. Merci. Pourtant, je ne suis pas convaincu que la sécurité soit une excuse valable pour entraver la convivialité. Il pourrait y avoir quelque chose dans le message pour indiquer à l'utilisateur la résolution du problème.
rpattabi
14

Si vous n'avez pas redémarré votre serveur de base de données SQL après avoir apporté des modifications de connexion, assurez-vous de le faire. Start-> Programs-> Microsoft SQL Server-> Configuration tools->SQL Server configuration manager -> Restart Server.

Il semble que vous ayez uniquement ajouté l'utilisateur au serveur. Vous devez également les ajouter à la base de données. Ouvrez la base de données / Security / User / Add New User ou ouvrez le serveur / Security / Logins / Properties / User Mapping.

Eric Leschinski
la source
Merci d'avoir remarqué .. J'ai oublié de mentionner que j'ai modifié le mappage utilisateur pour ce faire.
Travis Heseman,
Ancien thread que je connais, mais j'ai dû ajouter une nouvelle connexion au serveur avant de pouvoir ajouter un nouvel utilisateur à la base de données. Serveur> Sécurité> Connexions> Clic droit, Nouveau serveur de connexion> Bases de données> Sélectionnez Base de données> Sécurité> Utilisateurs> Clic droit, Nouvel utilisateur.
red_dorian
2

Vous devrez probablement vérifier les journaux d'erreurs SQL Server pour déterminer l' état réel (il n'est pas signalé au client pour des raisons de sécurité.) Voir ici pour plus de détails.

GuyBehindtheGuy
la source
Merci .. Je suis déjà allé sur cette page. Notez qu'il ne mentionne pas ce que signifie réellement State = 1. Grr ... mais je vais bien maintenant.
Travis Heseman
Comme l'explique la page, l'état enregistré dans votre journal des erreurs SQL Server sera différent de l'état signalé à l'utilisateur.
GuyBehindtheGuy
1

Connectez-vous au serveur en tant qu'administrateur

Allez dans Sécurité> Connexions> Nouvelle connexion

Étape 1:

Login Name : SomeName

Étape 2:

Select  SQL Server / Windows Authentication.

Plus d'informations sur, quelles sont les différences entre l'authentification du serveur SQL et l'authentification Windows ..?

Choisissez la base de données par défaut et la langue de votre choix

Cliquez sur OK

Essayez de vous connecter avec les nouvelles informations d'identification de l'utilisateur, il vous demandera de changer le mot de passe. Changer et se connecter

OU

Essayez avec la requête:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
MAX
la source