Redefinindo a Senha do Usuário SA – sqlcmd

Um blog sobre banco de dados

Redefinindo a Senha do Usuário SA – sqlcmd

Tempo de Leitura: 5 minutos

Introdução

Fala galera.

Vamos iniciar 2021 com esse post a respeito de um problema que diversos DBA’s já passaram e, se não passaram ainda, um dia vão passar.

Muitas vezes, me deparei com ambientes em que é necessário realizar alguma manutenção e ninguém tem acesso administrativo ao banco de dados ou sequer possui a senha do usuário SA para que seja possível realizar os procedimentos desejados. Isso pode acontecer por descuido, porque o DBA que possuía as senhas não trabalha mais no local ou qualquer outro motivo. É uma situação mais comum do que parece.

Então, resolvi compartilhar com vocês uma forma bem simples de redefinir a senha do usuário SA para cenários semelhantes a estes.

Há diversas formas de fazer isso, mas o foco desse post é mostrar como realizar esse procedimento utilizando o sqlcmd.

Alterando a Senha do usuário SA.

sqlcmd

Vamos lá.

Para quem não sabe o que é o sqlcmd ou como trabalhar com ele, sugiro que verifique mais detalhes na documentação oficial da Microsoft que pode ser acessada no link abaixo:

Resumidamente o sqlcmd é um utilitário que permite a execução de instruções Transact-SQL em diversos modos. Como o Intuito do post é mostrar como redefinir a senha do usuário de administração do SQL Server, não vou entrar em detalhes do que é o sqlcmd ou sobre o seu funcionamento.

Procedimentos

Realizar a redefinição de senha do usuário consiste nas seguintes etapas:

  1. Iniciar o Prompt de comando do Windows como administrador
  2. Parar o serviço do SQL Server
  3. Iniciar o serviço do SQL Server em modo single user
  4. Realizar login via sqlcmd
  5. Alterar a senha do usuário
  6. Parar o serviço do SQL Server
  7. Iniciar o serviço do SQL Server em modo multi user.

1. Iniciar o Prompt de Comando do Windows como Administrador

2. Parar o Serviço do SQL Server

NOTA: Observem que recebemos um alerta relacionado aos serviços que dependem do serviço mssqlserver, neste caso o SQL Server Agent, então é necessário que após a inicialização do serviço do SQL Server como multi user, os outros serviços que serão utilizados também sejam iniciados.

Ao confirmar que desejamos prosseguir com a operação, os serviços do SQL Server serão desligados.

3. Iniciar o Serviço do SQL Server em Modo Single User

NOTA: se a instância em que a manutenção está sendo realizada for nomeada, utilizar a opção $ para indicar o nome da Instância no comando de inicialização do serviço do SQL Server.

Exemplo:

4. Realizar Login Utilizando o sqlcmd

Observem que estamos utilizando a opção -A. Essa é uma opção que nos permite realizar o login com uma conexão de administrador dedicada, que normalmente é utilizada para resolver problemas no servidor.

NOTA: se a instância em que a manutenção está sendo realizada for nomeada, utilizar a opção -S para indicar o nome da instância no comando de login pelo sqlcmd.

Exemplo:

5. Alterar a Senha

Agora iremos alterar a senha utilizando Transact-SQL para realizar este procedimento.

6. Parar o Serviço do SQL Server

7. Iniciar o Serviço do SQL Server em Modo Multi User

Após realização desses procedimentos já é possível acessar o SQL Server utilizando o usuário SA.

NOTA: para ter certeza que os procedimentos descritos funcionarão, garanta que o SQL Server está com o modo de autenticação SQL Server habilitado e que o usuário sa está ativo. Caso essas configurações não estejam aplicadas, é possível configurar utilizando o sqlcmd, executando os seguintes comandos:

Habilitar Autenticação SQL Server

Habilitar Usuário SA

Conclusão

O sqlcmd é um utilitário poderoso e que pode ser usado para realizar diversas atividades de administração no SQL Server.

Recomendo o acesso aos links para um melhor entendimento de todas as possibilidades de procedimentos que podem ser realizados utilizando o sqlcmd.

É isso galera.

Qualquer dúvida ou sugestão deixem nos comentários que irei responder o mais rápido possível.

Até a próxima!

Referências

0 0 votes
Article Rating
Subscribe
Notify of
guest

2 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Gustavo Larocca

Rapaz, esse post vai ajudar muita gente. Você falou bem, quem nunca passou por isso, talvez um dia poderá passar. Ter essa informação bem detalhada no nosso idioma em um post que vai direto ao ponto, realmente vai ajudar demais!! Parabéns Anderson, Muito obrigado. Não pare de postar #orgulho