none
mot de passe SA perdu RRS feed

  • Question

  • Bonjour existe-t-il un moyen de réinitialisé le password SA , en effet un prestataire à fait une install (celui-ci est parti) et personne ne connait ce password donc impossibilité de se connecter sur la base. Il s'agit d'une base SQL 2005 Express.

     

    Merci

     

    mercredi 24 août 2011 11:39

Réponses

  • Bonjour David,

    Je vous fournis ce lien :

    http://social.msdn.microsoft.com/Forums/en/sqlgetstarted/thread/16706dec-209f-42c4-8dc7-4ee4dd5df482

    pour le message d'erreur :

    http://social.msdn.microsoft.com/Forums/en-US/sqlgetstarted/thread/a8cc09a9-7500-4fc3-90f4-fd5fff94509b/

    http://blogs.msdn.com/b/john_daskalakis/archive/2008/11/20/9128335.aspx

    Il y a quelque chose qui me chiffonne dans ce fil : je croyais que , pour SQL Server Expess, le mode d'authentification SQL Server est désactivé par défaut à l'installation, donc pas de sa accessible. Pour SQL Server Express 2005 , lors de l'installation, le bouton , il faut cocher une case spéciale pour pouvoir accéder à un écran qui gére les propriétés avancées.Depuis SQL Server Express 2008, l'accès est directement possible à partir d'un bouton marqué "Propriétés avancées".

    Il est aussi possible que la personne qui a installé l'instance SQL Server Express ait "supprimé" le login sa.

    Je suis désolé de ne fournir que des liens en anglais, mais c'est sur les forums ( ou blogs ) américains que l'on trouve le plus de renseignements concernant ce sujet.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    • Proposé comme réponse Florin Ciuca jeudi 25 août 2011 14:58
    • Marqué comme réponse Florin Ciuca mardi 30 août 2011 15:10
    jeudi 25 août 2011 06:56
  • OK, merci papy pour le lien. D'après l'article de Raul Garcia, celà dit, le redémarrage est seulement nécessaire lorsqu'il n'y a pas d'autre compte sysadmin que sa. Par ex:

     

    --> Création d'un compte SQL sysadmin alternatif
    create login altsa with password = '@lt$@';
    sp_addsrvrolemember @rolename = 'sysadmin', @loginame = 'altsa';
    
    --> Déconnexion / reconnexion avec ce compte altsa //
    
    --> Modification du mot de passe sa depuis la connexion altsa:
    select suser_name();
    
    ---------
    altsa
    
    alter login sa with password = 'unautremotdep@$$' ;
    
    ---------------------------------
    Commande(s) réussie(s).
    


    Donc s'il existe un autre compte sysadmin ça doit être possible sans -m. Il faudrait installer une express pour tester ça, je n'ai qu'une Developper sous la main.

    A priori le mode d'authent SQL n'est pas désactivé par défaut sur Express 2005: (ref: http://msdn.microsoft.com/en-us/library/ms143722%28v=sql.90%29.aspx). Simplement, sa sera désactivé si tu choisis d'être en mode intégrée seul:

    "On the Authentication Mode page, specify the security mode used to connect to your instance of SQL Server. If you select Windows Authentication, Setup creates an sa account that is disabled by default. To activate the sa account after Setup completes, see the How to: Change Server Authentication Mode and ALTER LOGIN (Transact-SQL) topics in SQL Server 2005 Books Online. If you select Mixed Mode Authentication you must set strong passwords for all SQL Server logins. Enter and confirm a strong sa logon password. Click Next. "

     

     

     


    David B.
    • Proposé comme réponse Florin Ciuca jeudi 25 août 2011 14:58
    • Marqué comme réponse Florin Ciuca mardi 30 août 2011 15:10
    jeudi 25 août 2011 07:43

Toutes les réponses

  • Bonjour,

     

    si vous êtes administrateur de la machine, il suffit de lancer SQL Server en mode Single User (sqlserver.exe -m)

    puis se logger en sqlcmd -E

    et enfin lancer la commande de modification du mot de passe.

     

    Cordialement

    mercredi 24 août 2011 12:00
  • je vous remercie mais je ne suis pas spécialiste SQL pouvez-vous m'indiquer cette commande ..

     

    Merci

     

    mercredi 24 août 2011 12:03
  • alter login sa with password = '<mdp>';
    David B.
    mercredi 24 août 2011 12:10
  • je n'ai pas d'exe sqlserver ? faut que je l'installe ?

     

    mercredi 24 août 2011 12:17
  • Dans mon cas:

     

    select description, name from sys.dm_os_loaded_modules where description like '%SQL Server Windows NT%';
    
    GO
    
    description             name
    ------------------------------   ------------------------------------------------------------
    SQL Server Windows NT  C:\UTRECHT\MSSQL.1\MSSQL\Binn\sqlservr.exe
    

     


    David B.
    mercredi 24 août 2011 12:24
  • Si une instance SQL Server existe, un exécutable existe aussi.

    Pour le trouver, une manière simple est de regarder où pointe le service SQL Server  (lancer services.msc dans une ligne de commande, et double cliquer sur le service SQL Server).

     

    Frédéric

    mercredi 24 août 2011 12:38
  • j'obtiens ce message :-(

    Your SQL Server installation is either corrupt or has been tampered with(Error getting instance ID from name).Please uninstall then re-run setup to correct this problem.

     

    ça sent pas très bon ça je trouve !

    mercredi 24 août 2011 12:55
  • Peut-être pas.

    Le serveur doit avoir une instance nommée (SQLEXPRESS certainement).

    Il faut ajouter à la commande sqlserver.exe -m -S.\SQLEXPRESS (ou le nom de l'instance. Pour le connaitre, c'est le nom qui apparait entre parenthèse dans le service)

     

    Fred

    mercredi 24 août 2011 13:08
  • Je ne suis pas sûr qu'il faille démarrer l'instance en mode mono-utilisateur pour remettre un mot de passe à sa. Un compte sysadmin avec une connexion normale doit pouvoir le faire dans le contexte normal.

    Sinon pour info, le message d'erreur vient probablement du fait que sqlservr attend le nom de l'instance (-s SQLEXPRESS) lors du démarrage manuel. Donc si vous double-cliquez sur l'exe, c'est normal que ça ne fonctionne pas, c'est une application console.


    David B.
    mercredi 24 août 2011 13:14
  • Bonjour David,

    Je vous fournis ce lien :

    http://social.msdn.microsoft.com/Forums/en/sqlgetstarted/thread/16706dec-209f-42c4-8dc7-4ee4dd5df482

    pour le message d'erreur :

    http://social.msdn.microsoft.com/Forums/en-US/sqlgetstarted/thread/a8cc09a9-7500-4fc3-90f4-fd5fff94509b/

    http://blogs.msdn.com/b/john_daskalakis/archive/2008/11/20/9128335.aspx

    Il y a quelque chose qui me chiffonne dans ce fil : je croyais que , pour SQL Server Expess, le mode d'authentification SQL Server est désactivé par défaut à l'installation, donc pas de sa accessible. Pour SQL Server Express 2005 , lors de l'installation, le bouton , il faut cocher une case spéciale pour pouvoir accéder à un écran qui gére les propriétés avancées.Depuis SQL Server Express 2008, l'accès est directement possible à partir d'un bouton marqué "Propriétés avancées".

    Il est aussi possible que la personne qui a installé l'instance SQL Server Express ait "supprimé" le login sa.

    Je suis désolé de ne fournir que des liens en anglais, mais c'est sur les forums ( ou blogs ) américains que l'on trouve le plus de renseignements concernant ce sujet.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    • Proposé comme réponse Florin Ciuca jeudi 25 août 2011 14:58
    • Marqué comme réponse Florin Ciuca mardi 30 août 2011 15:10
    jeudi 25 août 2011 06:56
  • OK, merci papy pour le lien. D'après l'article de Raul Garcia, celà dit, le redémarrage est seulement nécessaire lorsqu'il n'y a pas d'autre compte sysadmin que sa. Par ex:

     

    --> Création d'un compte SQL sysadmin alternatif
    create login altsa with password = '@lt$@';
    sp_addsrvrolemember @rolename = 'sysadmin', @loginame = 'altsa';
    
    --> Déconnexion / reconnexion avec ce compte altsa //
    
    --> Modification du mot de passe sa depuis la connexion altsa:
    select suser_name();
    
    ---------
    altsa
    
    alter login sa with password = 'unautremotdep@$$' ;
    
    ---------------------------------
    Commande(s) réussie(s).
    


    Donc s'il existe un autre compte sysadmin ça doit être possible sans -m. Il faudrait installer une express pour tester ça, je n'ai qu'une Developper sous la main.

    A priori le mode d'authent SQL n'est pas désactivé par défaut sur Express 2005: (ref: http://msdn.microsoft.com/en-us/library/ms143722%28v=sql.90%29.aspx). Simplement, sa sera désactivé si tu choisis d'être en mode intégrée seul:

    "On the Authentication Mode page, specify the security mode used to connect to your instance of SQL Server. If you select Windows Authentication, Setup creates an sa account that is disabled by default. To activate the sa account after Setup completes, see the How to: Change Server Authentication Mode and ALTER LOGIN (Transact-SQL) topics in SQL Server 2005 Books Online. If you select Mixed Mode Authentication you must set strong passwords for all SQL Server logins. Enter and confirm a strong sa logon password. Click Next. "

     

     

     


    David B.
    • Proposé comme réponse Florin Ciuca jeudi 25 août 2011 14:58
    • Marqué comme réponse Florin Ciuca mardi 30 août 2011 15:10
    jeudi 25 août 2011 07:43
  • Bonjour,

     

    votre problème est-il résolu ?

     

    Cordialement

    jeudi 25 août 2011 11:22
  • Bonjour,

     

    Pouvons-nous considérer que vous avez résolu votre problème avec les scénarios proposés ? Dans l'affirmative, pourriez-vous partager avec nous la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution ?

     

    Désormais, nous marquons les solutions proposées. N'hésitez pas à revenir et supprimer la réponse marquée si la solution n’est pas correcte. Merci !

     

     

    Cordialement,

     

    Florin


    Florin CIUCA, MSFT       Join TechNetFr on Viadeo   Votez! Appel à la contribution
    Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mardi 30 août 2011 15:10