Como recuperar a senha de um usuário MSSQL?

1

Recebi a tarefa de nos mudar de um sistema antigo (Access '97) para um novo sistema usando o MS SQL Express 2008 como back-end. Tão grande, eu sei que posso conectar ao banco de dados (bem-sucedido com um usuário somente leitura), o único problema é ... Eu não tenho um usuário no banco de dados com acesso de gravação, e não temos acesso à fonte ao aplicativo para saber qual senha o aplicativo usa (embora eu tenha o nome de usuário).

Então, como posso ver, tenho duas opções:

  • Recupere a senha do usuário que o aplicativo usa de maneira não destrutiva (ou que pode ser desfeita).
  • Insira um usuário administrativo extra no banco de dados que eu possa usar como um usuário de importação de dados.

Qualquer uma dessas opções é viável e / ou possível, e como eu iria sobre uma ou ambas, dado o fato de que estou sentado na frente do computador com acesso total para fazer o que quer que seja.

    
por Matthew Scharley 14.08.2009 / 09:27

2 respostas

2

Normalmente, isso é feito iniciando o SQL Server no modo de usuário único e inserindo um novo usuário admin do sql que você pode usar para obter acesso total. Eu evitaria alterar a senha sa até você saber se o aplicativo está sendo usado ou não.

Aqui está um link com as instruções e capturas de tela para fazer isso com o SQL Server normal. Colocar o SQL Express no modo de usuário único e abrir uma janela de consulta é algo assim:

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn> Sqlservr.exe -s SQLEXPRESS -m
C:\Program Files\Microsoft SQL Server\Tools\Binn> sqlcmd -S.\SQLExpress

Editar (em caso de apodrecimento do link): Depois de abrir uma janela de consulta no modo de usuário único, você poderá adicionar um login de administrador do servidor que possa ser usado:

CREATE LOGIN MYADMIN WITH PASSWORD='myadminpassword'
SP_ADDSRVROLEMEMBER 'MYADMIN', 'SYSADMIN'

No seu caso, os logins do SQL estão ativados ou você não poderá usar seu login somente para leitura, mas para outros eles podem precisar garantir SQL Logins estão habilitados , verificando ou editando o seu registro (substituindo MSSQL.1 com qualquer instância que você está depois, mas o mais provável é que seja .1). coloque isso em um arquivo .reg e execute-o (ou use o RegEdit):

-------------COPY BELOW---------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer]
"LoginMode"=dword:00000002
-------------COPY TILL THIS---------------------------------

E, finalmente, se o seu login sa estiver desativado e você quiser ativá-lo (mas não faça isso se seu aplicativo estiver usando sa ou você puder quebrar a coisa toda):

ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO
    
por 20.08.2009 / 00:07
0

Não tenho 100% de certeza sobre o que você está pedindo. Quase parece que seu aplicativo usa um nome de usuário e senha codificados em disco rígido?!?!?

Se o seu problema é simplesmente redefinir a conta 'sa' para o SQL Server, aqui está como você pode redefinir a senha 'sa' (supondo que você tenha acesso físico à caixa).

  1. Faça login na máquina física como administrador.

  2. Execute o SQL Server Enterprise Manager.

  3. Clique com o botão direito do mouse no nome do servidor e escolha "Editar propriedades de registro do SQL Server".

  4. Escolha 'Usar autenticação do Windows' e clique em OK.

  5. Expanda o servidor, expanda Segurança e clique em Logins.

  6. Clique duas vezes no login sa e especifique a nova senha na guia Geral.

por 14.08.2009 / 10:57

Tags