Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Restaurando o acesso à instância do SQL Server sem reiniciar




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.

Conecte a instância do SQL Server sem usar o Management Studio – usando SqlCmd