web-dev-qa-db-fra.com

Mot de passe oublié SQL Server

J'ai installé SQL Server 2005 il y a quelque temps et j'ai oublié le mot de passe administrateur que j'ai défini lors de l'installation. Comment puis-je me connecter au serveur SQL maintenant?

EDIT: Je pense que j’ai seulement autorisé l’authentification Sql Server. La connexion avec la sécurité intégrée ne fonctionne pas non plus.

15
buyutec

Essayez d’exécuter les commandes suivantes à l’invite (en supposant que le nom de votre serveur estSQLEXPRESS):

osql -E -S .\SQLEXPRESS
exec sp_password @new='changeme', @loginame='sa'
go
alter login sa enable
go
exit

Une fois ces étapes terminées, essayez de vous connecter avec le nom d’utilisateur sa et le mot de passe changeme .

31
cowgod

Vous n'avez pas besoin de payer pour des outils de réinitialisation pour faire cela. Démarrez l’instance en mode mono-utilisateur et vous pourrez créer un nouveau compte avec les autorisations sysadmin /

Voir ceci lien Pinal Dave .

9
Chris W

Merci beaucoup cowgod

Cela fonctionne correctement. Je me suis connecté à SQL Server avec le mode d'authentification Windows. A ensuite ouvert une nouvelle fenêtre de requête. Là j'ai tapé ces deux commandes en produisant F5.

Première exécution exec sp_password @ new = 'changeme', @ loginame = 'sa'

Puis modifier le login sa permettre

4
Sanjay Kumar

S'il n'y a aucun autre utilisateur disposant des privilèges sysadmin que sa, SQL Server doit être redémarré avec l'option -m pour le mode mono-utilisateur. Ensuite, vous pouvez vous connecter à cette instance SQL Server et vous pouvez ajouter d'autres utilisateurs avec le rôle sysadmin ou exécuter exec sp_password.

Dave Pinal explique ici - http://blog.sqlauthority.com/2009/02/10/sql-server-start-sql-server-instance-in-single-user-mode/ - comment ajouter -m avec Gestionnaire de configuration SQL Server: cliquez avec le bouton droit sur le service du serveur, allez à l'onglet Avancé et ajoutez -m; (point-virgule) dans les paramètres de démarrage.

Une autre solution consiste à arrêter l'instance de SQL Server dans Services et à l'exécuter manuellement à partir de la ligne de commande comme ceci:

"C:\Programmes\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" -m -sSQLEXPRESS

Je devais le faire pour SQL Server 2008, car il n'apparaissait pas dans SQL Server 2008 R2 Configuration Manager. La ligne de commande Exect peut être trouvée avec les propriétés du service.

3
Ilia Barahovski

Pour que ces étapes fonctionnent, vous devez être un administrateur sur lequel SQL Server est installé.

  • Arrêtez SQL Server à partir du gestionnaire de configuration
  • Démarrer SQL Server en mode mono-utilisateur
  • Ajoutez cette commande -mSQLCMD parmi les paramètres de démarrage en cliquant avec le bouton droit de la souris sur le service et en accédant à la section des paramètres de démarrage illustrée dans la capture d'écran ci-dessous, puis démarrez SQL Server. 

     enter image description here

  • Connectez-vous maintenant à SQLSERVER à partir de SQLCMD (invite de commande ouverte en tant qu’administrateur) comme ci-dessous:

    sqlcmd -s servername\instancename
    

    Et courir en dessous de la commande:

    USE [master]
    GO
    CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO
    EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Administrators', @rolename = N'sysadmin'
    GO
    

    La commande ci-dessus ajoute tous les utilisateurs locaux en tant qu'administrateurs système. Vous pouvez changer cela et ajouter un utilisateur similaire ou vous pouvez créer un autre utilisateur sysadmin et supprimer BUILTIN\Administrators

  • Ceci fait, vous devez maintenant arrêter SQL Server, supprimer le paramètre -mSQLCMD et redémarrer SQL Server.

Références:
Help: J'ai perdu le mot de passe sa et personne n'a l'autorisation de l'administrateur système (SysAdmin). Que devrais-je faire?

0
TheGameiswar

Sauf si vous le configurez pour accepter uniquement l'authentification SQL Server, vous pouvez vous connecter avec la sécurité intégrée à l'aide de l'utilisateur administrateur du domaine et/ou de la machine.