Neste artigo, vou mostrar-lhe os passos necessários para recuperar o seu acesso como sysadmin. Imagine uma situação onde os SQL Servers da sua empresa foram recentemente auditados por auditores externos. Como parte desta auditoria, foi notado que em alguns dos SQL Servers da sua empresa, o grupo BUILTIN\Administrators e outros logins que não são DBAs, são membros do papel fixo de servidor sysadmin. Foi recomendado pelos auditores seguir as melhores práticas de segurança da Microsoft, removendo o BUILTIN\Administrators e logins que não sejam DBAs do papel fixo de servidor sysadmin.
Ao executar esta melhor prática de segurança num dos seus servidores SQL, você acidentalmente removeu o grupo DBA da sua empresa do papel fixo de servidor sysadmin. Para recuperar os seus direitos de sysadmin, você decide usar a conta SA, mas descobre que a SA estava desativada neste servidor SQL. Neste ponto, você poderia reconstruir o banco de dados mestre ou reinstalar o servidor SQL e anexar todos os bancos de dados de usuário. No entanto, isso poderia demorar algum tempo, e não garante que todos os seus logins, usuários, permissões e configurações do servidor serão recuperados, a menos que você planeje restaurar o banco de dados mestre de um backup antigo. Agora você está sem opções. O que você faria?
Existe uma maneira de obter acesso de sysadmin ao seu servidor SQL. O SQL Server 2005 e o SQL Server 2008 oferecem uma melhor opção de recuperação de desastres ao permitir que membros do grupo de Administradores Locais do Windows façam login com acesso de sysadmin sempre que o SQL Server é iniciado no modo de usuário único, também conhecido como "modo de manutenção". No entanto, isso significaria que sua conta do Windows precisaria ser um membro do grupo de Administradores Locais do Windows.
Reiniciando o Servidor SQL Usando o Gerenciador de Configuração do SQL Server
Você pode usar a ferramenta Gerenciador de Configuração do SQL Server para iniciar o servidor SQL no modo de usuário único. Isso fornece controles adequados para o acesso a arquivos e outros privilégios. Para usar a ferramenta Gerenciador de Configuração para recuperar o seu sistema, siga os passos abaixo:
1. Abra a ferramenta Gerenciador de Configuração.
2. Pare a Instância do SQL Server que você precisa recuperar
3. Navegue até a aba "Avançado" das propriedades do motor de banco de dados. Em Propriedades, adicione ";–m" ao final da lista nos parâmetros de inicialização.
4. Clique no botão "OK" e reinicie a Instância do SQL Server
OBSERVAÇÃO: certifique-se de que não há espaço entre ";" e "-m". O arquivo ERRORLOG do SQL Server incluirá uma entrada que diz "SQL Server iniciado no modo de usuário único."
5. Após a Instância do SQL Server iniciar no modo de usuário único, a conta de Administrador do Windows pode se conectar ao SQL Server usando a utilidade sqlcmd e autenticação do Windows. Você pode usar comandos T-SQL como "sp_addsrvrolemember" para adicionar um login ao papel de servidor sysadmin.
EXEC sp_addsrvrolemember 'NomeDoDomínio\NomeDoGrupoDBA', 'sysadmin';
GO
6. Uma vez que o acesso de sysadmin foi recuperado, remova o ";-m" dos parâmetros de inicialização usando o Gerenciador de Configuração e reinicie a Instância do SQL Server.
Reiniciando o Servidor SQL Usando a Linha de Comando SQL
Para usar o prompt de comando para recuperar o seu sistema, siga os passos abaixo:
1. Pare o SQL Server 2005 usando o comando, NET STOP MSSQLSERVER
2. Inicie o SQL Server 2005 no modo Single-User usando o comando:
NET START MSSQLSERVER /m OU SQLServr.Exe –m (ou SQLServr.exe –f)
Nota: Se a pasta Binn não estiver no seu caminho, você precisará mudar para a pasta Binn.
3. Depois que o serviço do SQL Server foi iniciado no modo de usuário único ou com uma configuração mínima, você pode agora usar o comando SQLCMD a partir de um prompt de comando. Você pode se conectar ao SQL Server com o SQLCMD e realizar as seguintes operações para se adicionar de volta como sysadmin.
SQLCMD –S <Nome_do_Servidor\Nome_da_Instância>
Isso fará com que você faça login no SQL Server como sysadmin .
4. Depois de estar logado no SQL Server usando o SQLCMD, você pode adicionar um login ao papel de servidor sysadmin com este comando.
EXEC sp_addsrvrolemember 'NomeDoDomínio\NomeDoGrupoDBA', 'sysadmin';
GO
5. Próximo passo é parar e iniciar os serviços do SQL Server usando as opções de inicialização regulares. (remova o –f ou –m)
Conclusão
Este artigo mostra o processo necessário para recuperar o seu acesso como sysadmin. Este processo deve ser usado apenas para recuperação de desastres quando nenhum outro método para acessar o sistema com um privilegiado (ou seja, sysadmin ou equivalente) estiver disponível.
Comments