Fevereiro 2, 2022

como redefinir a senha SA no Microsoft SQL Server?

neste artigo, vamos dar uma olhada em como redefinir SA (administrador do sistema) senha no Microsoft SQL Server 2019/2017/2014/2012 . Este guia irá ajudá-lo a restaurar o acesso ao banco de dados MSSQL se você não puder autenticar usando a conta sa (a senha sa foi esquecida/perdida/a conta foi desativada) ou como usuário do Windows (se não houver usuários com permissões MS SQL sysadmin).

o sa local é uma conta administrativa bem conhecida no SQL Server. Na maioria dos casos, ele está desativado, mas você pode ativá-lo, definir/redefinir sua senha e restaurar o acesso ao seu SQL Server.

para restaurar o acesso ao banco de dados sem reinstalar completamente a instância do MS SQL (e com a perda do banco de dados mestre), você precisa iniciar o SQL Server em um modo de usuário único. Nesse modo, você pode fazer login no SQL Server em qualquer conta com permissões de administrador local no computador no qual o MS SQL Server está instalado. Em seguida, você pode redefinir a senha da conta sa e/ou conceder permissões administrativas a contas específicas do Windows.

dica. A partir do SQL Server 2008, a função sysadmin em um SQL server não é atribuída por padrão ao grupo Administradores do Windows local.

para executar o MS SQL Server no modo de usuário único, faça login no host MSSQL em qualquer conta com permissão de administrador local no Windows.

  1. pare a instância do SQL Server (em nosso exemplo, o nome da instância MSSQL é MSSQLSERVER) a partir do prompt de comando net stop MSSQLSERVER ou usando o PowerShell: Get-Service MSSQLSERVER| Stop-Service stop MSSQLSERVER através de cli
  2. Abra o editor de registo (regedit.exe) e vá para o serviço do SQL chave de registo: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER;
  3. Altere o valor do parâmetro ImagePath adicionando a opção-m como um argumento para sqlservr.exe. Por exemplo, defina a seguinte string de inicialização:"C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -m sql server executado no modo de usuário único através do registro
  4. iniciar o SQL Server: net start MSSQLSERVER
  5. O SQL Server está em execução no modo de usuário único e permite que qualquer membro do grupo local de Administradores (ou o built-in de administrador do Windows) para se conectar à instância do SQL Server com privilégios sysadmin;
  6. Abra o SQL Server Management Studio (SSMS) e conectar-se ao SQL Server Mecanismo de Banco de dados usando uma conta que seja membro do grupo local de Administradores; conectar-se ao SQL server no modo de usuário único através do SQL Server Management Studio
  7. Ir para Segurança -> Logins e encontrar o usuário sa. O usuário sa está desativado por padrão; o usuário sa está desativado no MS SQL Server por padrão
  8. Abra suas propriedades, vá para a guia geral e defina uma nova senha SA. Em seguida, ative esta conta na guia Status (Login -> ativado); SQL Server: redefinir senha SA
  9. para permitir a conexão ao MSSQL em contas SQL locais (incluindo sa), você precisa habilitar o modo de autenticação SQL Server e Windows nas propriedades do servidor na guia Segurança. Caso contrário, ao se conectar na conta sa local, um erro aparecerá:
    Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)

    habilite a autenticação do modo de autenticação do servidor e do Windows no MSSQL

  10. também na seção Logins, você pode adicionar os usuários necessários do Windows (local ou domínio) e atribuir a ele um sysadmin tole (na guia funções do servidor). Ou, você pode adicionar funções para o usuário do sqlcmd cli:
    EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
    GO

    conceder sql server sysadmin função de usuário do windows
  11. Ele permanece para parar o serviço MSSQL novamente, retornar o valor inicial da ImagePart parâmetro de registo, removendo o “m” switch (C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER);
  12. Inicie o serviço SQL Server normalmente;
  13. agora você pode se conectar ao SQL server na conta sa no modo de autenticação do SQL Server ou na conta de usuário do Windows que você concedeu privilégios sysadmin no SQL Server.
dica. Você pode iniciar o SQL Server no modo de usuário único usando o SQL Server Configuration Manager. Para fazer isso, vá para a guia Parâmetros de inicialização nas propriedades da instância SQL necessária e adicione a opção –m startup.

sql server configuration adicionar stratup parâmetros

além disso, você pode usar o sqlcmd ferramenta de linha de comandos para redefinir a palavra-passe do SA e conceder acesso ao SQL Server:

  1. Iniciar o SQL Server no modo de usuário único, como descrito acima;
  2. Abra o prompt de comando e conectar-se à instância do SQL Server: sqlcmd –S localhost
  3. Para alterar o usuário SA senha e ativar-lo, execute os seguintes comandos T-SQL:
    ALTER LOGIN sa enable
    GO
    ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331'
    GO
  4. Para conceder permissões de administrador do sistema no MSSQL para uma conta do Windows (usuário local, neste exemplo), use os comandos:
    CREATE LOGIN FROM WINDOWS
    GO
    ALTER SERVER ROLE sysadmin ADD MEMBER
    GO

neste artigo, mostramos como restaurar o acesso ao SQL Server no modo de usuário único. Neste modo, você pode redefinir a senha sa (e outros usuários SQL) ou conceder permissões de administrador SQL para contas de usuário do Windows. O modo de usuário único também pode ser usado para restaurar o banco de dados temdb no servidor MSSQL.

Deixe uma resposta

O seu endereço de email não será publicado.