web-dev-qa-db-fra.com

Impossible de se connecter à SQL Server à l'aide du compte «sa», qu'est-ce qui me manque?

J'essaie de me connecter à une instance de SQL Server 2005 Express à l'aide de la commande suivante:

osql -S .\INSTANCE -U sa -P password

J'obtiens l'erreur: La connexion a échoué pour l'utilisateur 'sa'.

Je peux très bien me connecter en utilisant le commutateur -E. Je dois ajouter que cela fonctionne depuis des mois. Je pense que quelqu'un a changé quelque chose mais je ne peux pas comprendre ce que c'est.

Voici ce que j'ai essayé:

  • Connectez-vous en utilisant l'authentification Windows et en changeant le mot de passe sa:

    sp_password NULL, newpassword, 'sa'

  • Activation de la connexion "sa":

    ALTER LOGIN sa ENABLE; GO ALTER LOGIN sa WITH PASSWORD = 'newpassword'; ALLER

  • Vérifié le registre Windows pour s'assurer que authentification mixte est activé. La valeur était correcte: LoginMode = 2

Que dois-je vérifier d'autre? Merci d'avance.

INFORMATION ADDITIONNELLE:

Il s'agit d'un serveur Windows 2003. Certaines stratégies de mot de passe sont activées, je me souviens que je devais changer le mot de passe par défaut "sa" que mon application utilise lorsqu'elle installe SQL Server en un autre plus complexe.

Je me connecte en utilisant VNC, donc je ne peux pas vraiment utiliser SSMS

Mon application peut se connecter en utilisant une autre connexion SQL Server, mais pas de 'sa'

Enfin, si nous ne trouvons pas de solution, je supprimerai cette instance et la réinstallerai, mais j'aimerais vraiment savoir quel est le problème. Juste au cas où cela se reproduirait et juste par simple curiosité.

20
JAG

Ok, j'ai pu comprendre ce qui se passait (en quelque sorte) et j'ai obtenu une solution de contournement.

Il semble qu'il y a une semaine, ils jouaient avec la politique de sécurité de Windows. Ils ajoutaient/supprimaient des autorisations mais ils ne peuvent pas me donner exactement ce qu'ils ont fait parce qu'ils ne savaient vraiment pas (aïe!).

Quoi qu'il en soit, je me suis connecté à l'aide de l'authentification Windows (commutateur -E) et j'ai exécuté la requête suivante:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF
GO
ALTER LOGIN [sa] ENABLE
GO

La clé ici est CHECK_POLICY = OFF. Cela a fait l'affaire. J'espère que cela rendra "sa" à l'abri des changements futurs dans la configuration de leur domaine.

Merci pour toutes vos suggestions.

12
JAG

Comme l'a dit @SpaceManSpiff, n'oubliez pas de vérifier si le mode mixte est activé. Quelqu'un a changé ce paramètre pour moi et j'ai eu le même problème. Voici comment le résoudre:

  1. Connectez-vous à MSSQL Server Management Studio avec l'authentification Windows.
  2. Dans l'Explorateur d'objets SQL Server Management Studio, cliquez avec le bouton droit sur le serveur, puis cliquez sur Propriétés.
  3. Sous les propriétés du serveur, sélectionnez une page de "Sécurité".
  4. Sélectionnez l'authentification du serveur en tant que "mode d'authentification SQL Server et Windows" et cliquez sur OK. MSSQL Server Management Database properties
  5. Redémarrez les services SQL, puis essayez de vous connecter avec les détails "sa".

Source: http://forums.eukhost.com/f15/login-failed-user-sa-Microsoft-sql-server-error-18456-a-12544/

24
emmanuel

Choses à vérifier

Mot de passe sur le compte SA

Mode mixte activé

Le compte SA est-il désactivé?

Créez un autre compte SQL et essayez-le (puisque vous pouvez entrer avec -E, vous devriez pouvoir le faire)

Testez en utilisant une connexion ODBC, vous pouvez créer cette connexion pour voir si le SA fonctionne

Oh et toujours attraper tout dans Windows, redémarrez (sérieusement, cela aide mon serveur SQL de test après avoir fait des choses)

6
SpaceManSpiff

J'ai eu ce problème il y a quelques années après avoir installé un Windows ServicePack (pas de mise à jour SQLServer, mais Windows), le SQLServer a refusé les connexions, jusqu'à ce que le SQLServer ServicePack soit également installé! J'ai trouvé un message dans le journal des événements après quelques heures.

Je pense qu'ils l'ont fait, car ils savaient qu'il y avait un gros trou de sécurité et voulaient forcer tous les administrateurs à installer le pack. Cependant, puisque c'est il y a quelque temps, je n'ai pas les versions exactes et ainsi de suite. Je recommanderais, vous vérifiez votre journal des événements et installez tous les Service Packs/plus récents.

1
Tim Büthe

Si vous installez SQL Express 2014, vous devrez faire quelques choses pour résoudre cette erreur si vous essayez de vous connecter avec le compte [sa].

  1. Le compte "sa" sera désactivé. Vous devrez donc basculer le compte de désactivé à activé dans la section d'état du compte.

  2. L'authentification Windows et SQL Server doit être activée sur le serveur. Par défaut, seule l'authentification Windows est activée.

  3. Réinitialisez le mot de passe. (voir le code ci-dessous; ServerFault a un bogue où le code ne s'affiche pas de la même manière lors de l'utilisation d'une liste ordonnée au 6/8/2016)

  4. Redémarrez le service Windows pour SQL Server

=========

ALTER LOGIN sa WITH PASSWORD='password', CHECK_POLICY=OFF;
ALTER LOGIN [sa] ENABLE;
1
MacGyver

je l'ai résolu comme suit, connectez-vous avec vos propriétés goto d'authentification Windows du serveur >> Sécurité et changez le serveur

0

Parfois, la connexion est désactivée en raison de nombreux mots de passe incorrects ou de toute violation de politique. Nous pouvons donc simplement nous connecter avec l'authentification par fenêtre, changer le mot de passe et réactiver la connexion.

Connectez-vous à la base de données avec l'authentification Windows

Exécuter la requête:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF 
GO
ALTER LOGIN [sa] ENABLE
GO

L'utilisation de CHECK_POLICY est requise car elle spécifie que les stratégies de mot de passe Windows de l'ordinateur sur lequel SQL Server s'exécute doivent être appliquées sur cette connexion. La valeur par défaut est ON lorsque nous la désactivons, cela changera le mot de passe sans aucune difficulté. Plus tard, vous pouvez activer

REMARQUE: ce que j'ai observé que lorsque CHECK_POLICY est sur les solutions GUI SSME pour changer le mot de passe ne fonctionnera pas à chaque fois. Je n'ai pas la raison derrière mais que j'ai observée.

0
jay patel

En supposant que Management Studio ou Management Studio Express soit installé, pouvez-vous connecter Management Studio à l'instance à l'aide de sa?

JR

0
John Rennie

Avez-vous vérifié que vous avez redémarré le service SQL Server après avoir effectué la modification du Registre?

0
David Spillett

Quelqu'un a-t-il supprimé la base de données qui était la base de données par défaut pour "sa"?

Si tel est le problème, essayez

EXEC sp_defaultdb 'sa', 'New default database'
0
splattne