A partir do Microsoft SQL Server 2008, por padrão, o grupo de administradores locais não é mais adicionado aos administradores do SQL Server durante a instalação, isso só pode ser feito manualmente.
Como resultado, se o grupo do administrador não foi adicionado durante ou após a instalação, há situações em que o acesso administrativo ao SQL Server é perdido. Isso pode acontecer quando o usuário sob o qual a instalação foi realizada é desconhecido ou a senha da mesma conta é perdida, ou quando o administrador de banco de dados anterior saiu e sua conta do Windows, sendo a única com direitos de administrador para SQL Server, foi excluída .
Normalmente, nesse caso, é usado o mecanismo regular com uma reinicialização do SQL Server de usuário único. No entanto, essa abordagem requer algum tempo de inatividade e, em alguns sistemas, isso é inaceitável.
Existe uma maneira muito indolor de resolver esse problema sem qualquer tempo de inatividade se certas condições forem atendidas. Muitos já ouviram e usaram os utilitários de Mark Russinovich – Windows Sysinternals. Este conjunto contém o utilitário PsExec, que permite iniciar um processo em uma máquina local ou remota.
Uma das vantagens desse utilitário é a capacidade de executar processos em nome de uma conta NT AUTHORITY\SYSTEM , que – ao contrário das contas de administrador “normais” – tem acesso ao SQL Server por padrão.
Para que este método funcione, o SQL Server deve ter a Autenticação do Windows habilitada e executada como uma conta NT AUTHORITY\SYSTEM, caso contrário, a conta NT AUTHORITY\SYSTEM terá apenas direitos públicos, não um administrador de sistema.
Preparando para restaurar o acesso administrativo ao SQL Server
1. Verifique se o serviço SQL Server está sendo executado em nome de sua conta NT AUTHORITY\SYSTEM.
2. Baixe e instale a versão atual do SQL Server Management Studio (SSMS) em seu servidor SQL, por exemplo aqui
3. Baixe e descompacte o arquivo para o servidor SQL da versão atual do conjunto de utilitários PsTools (PsExec está incluído nele), por exemplo, PSTools.
Adições ao SQL Server Administrator
1. Execute a linha de comando com direitos elevados no servidor SQL (Shift + clique com o botão direito do mouse, “Executar como administrador”) e navegue até a pasta onde o utilitário PsExec foi descompactado.
2. Execute o comando abaixo, corrigindo seu caminho real para o Management Studio:
PsExec -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
Configurações:
- -i – indica que é necessário iniciar o processo no modo interativo
- -s – indica que você precisa executar o processo em nome de sua conta do sistema NT AUTHORITY\SYSTEM.
Você obterá aproximadamente o seguinte (na primeira inicialização, você verá uma janela com o contrato de licença):
e o SSMS será iniciado.
3 Clicar em Conectar permitirá que você se conecte e veja a lista de objetos no servidor.
4. Agora, vá em Segurança> Logins e adicione sua conta como administrador do sistema, e atualize a mesma senha, em geral, faça todo o necessário para tornar sua instância gerenciável.
Faça login e adicione sua conta como administrador do sistema, e atualize a senha do sa, em geral, faça todo o necessário para tornar sua instância gerenciável” largura=”300″ altura=”160″ título=””>
Esse método, embora tenha várias limitações, permite restaurar o gerenciamento do servidor SQL sem interromper o servidor de banco de dados.