Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

Como redefinir e recuperar a senha de Administrador (sa) do SQL Server

Visualizações: 72.844 views
Tempo de Leitura: 4 minutos

Olá pessoal,
Boa tarde!

Neste post vou demonstrar como recuperar a senha do usuário Administrador do SQL Server (sa), caso ela tenha sido perdida ou alterada por um usuário mal intencionado ou você simplesmente não lembra mais da senha. Muitos DBA’s menos experientes podem ficar desesperados com essa situação e recorrer à reinstalação do produto para recuperar essa senha e as soluções são realmente bem simples.

Utilizando o SQLCMD

A primeira forma de recuperar a senha do usuário SA é utilizando o SQLCMD (Para saber mais sobre o SQLCMD, acesse este post).

Por estar sempre presente e já vir com o produto, eu considero a solução mais prática, embora NÃO funcione caso não tenha sido criado (ou tenha sido removido) o login com o grupo do domínio, que permite conexões utilizando Autenticação Windows (AD).

Para recuperar a senha, abra o Prompt de comando do Windows (cmd) no servidor que terá a senha alterada e digite os comandos abaixo para se conectar no banco:

Após a conexão, basta executar os comandos abaixo para alterar a senha:

Como a sp_password será desativada em futuras versões, podemos utilizar também o comando ALTER LOGIN para realizar a alteração da senha.

Exemplo:
SQL Server - Reset SA Password

Utilizando o SQL Management Studio

Uma outra alternativa para realizar a recuperação da senha, é logar localmente no seu banco de dados pelo Management Studio utilizando autenticação Windows AD e alterar manualmente a senha.

SQL Server - Local Connection Conexão Local

Agora basta entrar nas opções de segurança e alterar a senha do usuário SA (ou qualquer outro a sua escolha)

SQL Server - Alter SA Password

SQL Server - Alter SA Passoword 2

Não consigo conectar usando Autenticação Windows

Ocorre quando você não se lembra da senha do usuário SA, a role padrão da instância foi apagada e não é possível se conectar na instância de forma alguma.

O primeiro passo é parar a instância do SQL Server utilizando o Configuration Manager.

Para abrir o Configuration Manager, basta executar o comando SQLServerManager10.msc ou em Iniciar > Todos os Programas > Microsoft SQL Server -sua_versao- > Configuration Tools > SQL Server Configuration Manager

SQL Server - Configuration Manager - Stop Instance

Agora vamos iniciar a instância em modo single user (-m) ou com as configurações mínimas (-f). Para isso, digite o comando abaixo no Prompt de comando:

Uma maneira alternativa de realizar essa configuração é manipulando os serviços do Windows:

Com isso, você agora pode logar normalmente na instância utilizando o comando sqlcmd e alterar a sua senha, uma vez que o login será feito com o usuário padrão do servidor, mesmo que ele tenha sido apagado.

Se você desabilitou o acesso da role de Administradores (geralmente é a role com o mesmo nome da instância), pode ser que você não consiga se logar na instância mesmo utilizando essa procedimento, mas você pode tentar com a solução abaixo.

Utilizando o PsExec

Uma utilitário fantástico da sysinternals, o PsExec permite executar aplicativos utilizando o usuário NT AUTHORITY\SYSTEM, que possui acesso nativo ao SQL Server.

Para realizar a recuperação de senha, basta baixar o PsExec neste link, extrair para uma pasta local no seu servidor e executar os comandos abaixo no Prompt de comando (como Administrador), onde o parâmetro -s serve para utilizar a conta de sistema, enquanto o -i habilita o modo interativo:

SQL Server - PsExec

SQL Server - System Account Login

Agora é só criar, alterar ou habilitar os usuários que você precisa para administrar sua instância.

Utilizando softwares terceiros

Uma outra forma de recuperar rapidamente a senha do Administrador é utilizando softwares terceiros para realizar essa tarefa. Geralmente essa forma de desbloqueio é preferida por pessoas que administram bancos SQL Server e não tem muito conhecimento técnico (sim, isso acontece) e acabam optando por pagar por essas ferramentas.

Quando você já tentou TODAS as outras alternativas e não conseguiu recuperar (caso todos os usuários estejam bloqueados), você pode utilizar uma dessas ferramentas como opção, pois ela não exige conexão com o banco de dados, uma vez que a ferramenta atua diretamente no arquivo MDF do database master e altera os bits forçando a alteração da senha, quase um procedimento cracker.

Algumas das ferramentas mais conhecidas para isso são:
SQL Server Password Geeker
Elcomsoft Advanced SQL Password Recovery
MS SQL Server Password Unlocker

É isso aí, pessoal!
Até a próxima

como formas de resetar redefinir mudar recuperar a senha de administrador sa SQL Server, how to recover retrieve change lost password perdi a senha PsTools PsExec

como formas de resetar redefinir mudar recuperar a senha de administrador sa SQL Server, how to recover retrieve change lost password perdi a senha PsTools PsExec