O erro 1069 ocorre quando você inicia o Serviço SQL Server

Você recebe o erro 1069 ao iniciar o Serviço SQL Server, o que resulta em uma falha de logon. Este artigo fornece resoluções para eventos relacionados ao erro 1069.

Versão original do produto: SQL Server
Número original do KB: 282254

Sintomas

Quando você tenta reiniciar o Microsoft SQL Server ou o SQL Server Agent, o serviço não é iniciado e você recebe as seguintes mensagens de erro, dependendo de como você tenta iniciar o serviço:

  • Usando o miniaplicativo Serviços:

    O Windows não pôde iniciar o serviço SQL Server no Computador Local.
    Erro 1069: O serviço não foi iniciado devido a uma falha de logon.

  • Usando um prompt de comando:

    Ocorreu o erro de sistema 1069.
    O serviço não foi iniciado devido a uma falha de logon.

Você pode encontrar mensagens com a ID de evento 7041 ou 7038 registrada no log de eventos do sistema.

Causa

Esse problema ocorre porque há um problema com a própria conta de serviço ou com as informações salvas no momento para a conta de serviço.

Resolução para a ID de evento 7041

A entrada com a ID de evento 7041 no Log de Eventos do Sistema pode conter a seguinte mensagem de erro:

Falha de logon: não foi concedido ao usuário o tipo de logon solicitado neste computador.

A entrada de mensagem completa no log de eventos é semelhante à seguinte:

Log Name:      System
Source:        Service Control Manager
Date:          <Datetime>
Event ID:      7041
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Server name>
Description:
The MSSQLSERVER service was unable to log on as NT Service\MSSQLSERVER with the currently configured password due to the following error:
Logon failure: the user has not been granted the requested logon type at this computer.

Service: MSSQLSERVER  
Domain and account: <AccountName>

This service account does not have the required user right "Log on as a service."

User Action

Assign "Log on as a service" to the service account on this computer. You can use Local Security Settings (Secpol.msc) to do this.
If this computer is a node in a cluster, check that this user right is assigned to the Cluster service account on all nodes in the cluster.

If you have already assigned this user right to the service account, and the user right appears to be removed,
check with your domain administrator to find out if a Group Policy object associated with this node might be removing the right.

Para corrigir esse problema, verifique quais direitos de usuário são atribuídos à conta de serviço do SQL Server.

  1. Inicie a política de segurança local (Iniciar -> Secpol.msc).

  2. Expanda Política Local e selecione Atribuição de Direitos de Usuário.

  3. Verifique se os direitos de usuário necessários estão atribuídos à conta de serviço seguindo as instruções em Privilégios e direitos do Windows. Atribua manualmente as permissões ausentes.

  4. Verifique se a conta de serviço recebeu alguma permissão Negar*. Remova todas as permissões Negar* da conta de serviço do Serviço SQL e teste novamente.

    Por exemplo, se a conta de serviço tiver sido atribuída a Negar logon como um serviço SeDenyServiceLogonRightjunto com Fazer logon como um serviçoSeServiceLogonRight, revogue o direito de logon e reinicie o SeDenyServiceLogonRight SQL Server.

Resolução para ID de evento 7038

Nas entradas de log relacionadas à ID do evento 7038, você pode encontrar as seguintes mensagens de erro:

Este usuário não pode entrar porque esta conta está desativada no momento

A entrada de mensagem completa no log de eventos é semelhante à seguinte:

Log Name:      System
Source:        Service Control Manager
Date:          <Datetime>
Event ID:      7038
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
This user can't sign in because this account is currently disabled.

To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).

Para corrigir esse problema, use um dos seguintes métodos com base em seu cenário:

  • Se a conta de inicialização do SQL Server for uma conta de usuário local no computador, abra *Gerenciamento do Computador (compmgmt.msc) e verifique se a conta de serviço está desabilitada em Usuários e Grupos Locais. Se estiver desabilitado, habilite a conta e reinicie o Serviço SQL Server.

  • Se a conta de inicialização do SQL Server for uma conta de domínio do Windows, verifique se a conta está desabilitada em Usuários e Computadores do Active Directory. Se estiver desabilitado, habilite a conta e reinicie o Serviço SQL Server.

A senha do usuário deve ser alterada antes de entrar

A entrada de mensagem completa no log de eventos é semelhante à seguinte:

Log Name:      System
Source:        Service Control Manager
Date:          <Datetime>
Event ID:      7038
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The user's password must be changed before signing in.

To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).

Para corrigir esse problema, use um dos seguintes métodos com base em seu cenário:

  • Se a conta de inicialização do SQL Server for uma conta de usuário local no computador:

    1. Abra o Gerenciamento do Computador (compmgmt.msc).
    2. Selecione Usuários e Grupos Locais e, em seguida, selecione Usuários para localizar a conta.
    3. Clique duas vezes na conta de usuário para abrir suas Propriedades.
    4. Desmarque a propriedade O usuário deve alterar a senha no próximo logon para a Conta de Inicialização do SQL Server e pressione OK.
    5. Reinicie o serviço SQL Server.
  • Se a conta de inicialização do SQL Server for uma conta de domínio do Windows:

    1. Abra usuários e computadores do Active Directory em um controlador de domínio.
    2. Selecione Usuários no domínio correto.
    3. Clique duas vezes na conta de domínio usada como uma conta de serviço do SQL Server para abrir suas Propriedades.
    4. Vá para a guia Conta para verificar se o usuário deve alterar a senha no próximo logon está ativado. Se a opção estiver habilitada, desmarque essa opção ou entre interativamente em um computador cliente Windows e defina uma nova senha.
    5. Se você alterou a senha, atualize a nova senha para o Serviço do SQL Server usando a ferramenta SQL Server Configuration Manager .

O nome de usuário ou a senha estão incorretos

Para um problema de senha incorreta, a entrada completa da mensagem no log de eventos é semelhante à seguinte:

Log Name:      System
Source:        Service Control Manager
Date:          <Datetime>
Event ID:      7038
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The user name or password is incorrect.

To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).

Para corrigir o problema, siga estas etapas:

Cenário 1: senha incorreta

A entrada da mensagem de erro indica que o nome de logon atual ou o conjunto de senhas está incorreto. Para verificar e resolver o problema, siga estas etapas:

  1. Use a runas opção para testar as credenciais da conta de serviço:

    1. Abra um prompt de comando do Windows.

    2. Execute o comando a seguir:

      runas /user:<localmachine>\<SQLSerivceAccount> cmd
      
  2. Se o comando for bem-sucedido, digite cuidadosamente as mesmas credenciais em SQL Server Configuration Manager, Serviços, Serviço do SQL Server e Esta conta.

  3. Se o comando falhar e relatar o mesmo problema, você deverá redefinir a senha para o logon do Windows.

  4. Se a conta de inicialização do SQL Server for uma conta de usuário local no computador, abra o Gerenciamento do Computador (compmgmt.msc) e redefina a senha do usuário local.

  5. Se a conta de inicialização do SQL Server for uma conta de domínio do Windows, abra Usuários e Computadores do Active Directory e atualize a senha da conta em Usuários. Depois que as credenciais forem atualizadas, retorne ao SQL Server Configuration Manager, Services, SQL Server e insira as mesmas credenciais.

  6. Reinicie o serviço SQL Server.

    Para digitar a senha correta na conta do Serviço do SQL Server no computador host do SQL Server, siga os procedimentos do Serviços SCM – Alterar a senha das contas usadas.

Cenário 2: o sinalizador IsManagedAccount da gMSA está definido incorretamente

Se você estiver usando uma conta gMSA (Contas de Serviço Gerenciado) de grupo para executar o Serviço SQL Server e o IsManagedAccount sinalizador do serviço fornecido estiver definido como false, você poderá receber uma ID de evento 7038 do Service Control Manager assim que o segredo armazenado em cache for inválido.

Para identificar e resolver o problema, siga estas etapas:

  1. Verifique se a conta que você está usando é uma conta gMSA. Prossiga somente após confirmar gMSA.

    • Se o comando a seguir for bem-sucedido na conta, você está usando uma conta gMSG.
    • Se falhar com Cannot find an object with identity: 'account', a conta de serviço não é uma conta gMSA.
    Get-ADServiceAccount -Identity 'yourGmsaName' -Properties PasswordLastSet
    

    Para obter mais informações, consulte Verificar a conta gMSA.

  2. Execute o seguinte comando no prompt de comando e verifique o status de IsManagedAccount. O resultado desejado é verdadeiro. Se for falso, prossiga.

    sc qmanagedaccount <YourSQLServiceName>
    

    Um exemplo de uma instância do SQL Server chamada SQLPROD:

    sc qmanagedaccount MSSQL$SQLPROD
    
  3. Defina o sinalizador como true conforme desejado.

    sc managedaccount <YourSQLServiceName> TRUE
    

    Um exemplo de uma instância do SQL Server chamada SQLPROD:

    sc managedaccount MSSQL$SQLPROD TRUE
    
  4. Tente iniciar o serviço novamente.

A conta referenciada está bloqueada no momento e pode não estar conectada a

A entrada de mensagem completa no log de eventos é semelhante à seguinte:

Log Name:      System
Source:        Service Control Manager
Date:          <Datetime>
Event ID:      7038
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Server name>
Description:
The MSSQLSERVER service was unable to log on as .\sqlsrvlogin with the currently configured password due to the following error:
The referenced account is currently locked out and may not be logged on to.

To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).

Para corrigir esse problema, use um dos seguintes métodos com base em seu cenário:

  • Se a conta de inicialização do SQL Server for uma conta de usuário local no computador:

    1. Abra o Gerenciamento do Computador (compmgmt.msc) e vá para Usuários e Grupos Locais. Em seguida, selecione Usuários.
    2. Desmarque a caixa de seleção Conta Bloqueada para a Conta de Inicialização do SQL Server em Usuários e Grupos Locais e selecione OK.
    3. Reinicie o serviço SQL Server.
  • Se a conta de inicialização do SQL Server for uma conta de domínio do Windows:

    1. Abra Usuários e Computadores do Active Directory no controlador de domínio.
    2. Em Usuários, clique duas vezes na conta de inicialização do SQL Server e vá para a guia Conta .
    3. Verifique se a conta está marcada como bloqueada.
    4. Se a conta estiver bloqueada, marque a caixa Desbloquear conta e selecione OK, defina uma senha forte.
    5. Em seguida, use as mesmas credenciais para a configuração da conta de serviço do SQL Server no SQL Server Configuration Manager, Services e SQL Server.
    6. Reinicie o serviço SQL Server.

O domínio especificado não existe ou não pôde ser contatado

A entrada de mensagem completa no log de eventos é semelhante à seguinte:

Log Name:      System
Source:        Service Control Manager
Date:          <Datetime>
Event ID:      7038
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Server name>
Description:
The MSSQLSERVER service was unable to log on as xxx with the currently configured password due to the following error:
The specified domain either does not exist or could not be contacted.

To ensure that the service is configured properly, use the Services snap-in in Microsoft Management Console (MMC).

Para corrigir esse problema, use um dos seguintes métodos com base em seu cenário:

  • Configure a inicialização do SQL Server para iniciar atrasada para servidores Windows específicos, o que garante que outros serviços do Windows, como o NetLogon, sejam concluídos primeiro e o SQL Server seja iniciado sem problemas. Essa é a configuração padrão da Instalação do SQL a partir do SQL Server 2022.

  • Se a opção de início atrasado não resolver o problema do seu cenário, uma opção alternativa é alterar as opções de recuperação para os serviços do SQL Server. Especifique 'Reiniciar o serviço' como a ação para as opções de falha. Você pode executar essa opção no applet de Serviços das Ferramentas Administrativas usando as interfaces conhecidas do Gerenciador de Controle de Serviço.

    • Essa opção não é recomendada para FCIs (Instâncias de Cluster de Failover) do SQL ou AGs (Grupos de Disponibilidade), pois definir isso pode resultar em atrasos durante cenários de failover automático.
  • Se nenhuma das opções anteriores for viável, você poderá configurar o serviço SQL Server para ter uma dependência do serviço NETLOGON usando o seguinte comando em um console de linha de comando com privilégios elevados:

    sc config <YourSQLServiceName> depend=keyiso/netlogon
    

    Um exemplo de uma instância do SQL Server chamada SQLPROD:

    sc config MSSQL$SQLPROD depend=keyiso/netlogon