Ошибка 1069 возникает при запуске службы SQL Server

При запуске службы SQL Server появляется ошибка 1069, которая приводит к сбою входа. В этой статье приведены способы устранения событий, связанных с ошибкой 1069.

Оригинальная версия продукта: SQL Server
Исходный номер базы знаний: 282254

Симптомы

При попытке перезапустить microsoft SQL Server или агент SQL Server служба не запускается, и вы получаете следующие сообщения об ошибках в зависимости от способа запуска службы:

  • С помощью апплета "Службы" выполните следующие действия.

    Windows не удалось запустить службу SQL Server на локальном компьютере.
    Ошибка 1069: служба не запущена из-за сбоя входа.

  • С помощью командной строки:

    Произошла системная ошибка 1069.
    Служба не запущена из-за сбоя входа.

Вы можете найти сообщения с идентификатором события 7041 или 7038, зарегистрированные в журнале системных событий.

Причина

Эта проблема возникает из-за проблемы либо с самой учетной записью службы, либо с данными, которые в настоящее время сохранены для учетной записи службы.

Разрешение для события с идентификатором 7041

Запись с идентификатором события 7041 в журнале системных событий может содержать следующее сообщение об ошибке:

Вход в систему не произведен: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен.

Полная запись сообщения в журнале событий выглядит следующим образом:

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.

Чтобы устранить эту проблему, проверка, какие права пользователя назначены учетной записи службы SQL Server.

  1. Запустите локальную политику безопасности (Start —> Secpol.msc).

  2. Разверните узел Локальная политика , а затем выберите Назначение прав пользователя.

  3. Убедитесь, что учетной записи службы назначены необходимые права пользователя, следуя инструкциям в разделе Привилегии и права Windows. Назначьте отсутствующие разрешения вручную.

  4. Проверьте, назначены ли учетной записи службы какие-либо разрешения Deny*. Удалите все разрешения Deny* из учетной записи службы SQL, а затем повторите тестирование.

    Например, если учетной записи службы назначено запретить вход в качестве службыSeDenyServiceLogonRight вместе с параметром Вход в качестве службыSeServiceLogonRight, отмените SeDenyServiceLogonRight право на вход и перезапустите SQL Server.

Разрешение для события с идентификатором 7038

В записях журнала, связанных с событием 7038, могут отображаться следующие сообщения об ошибках:

Этот пользователь не может войти, так как эта учетная запись в настоящее время отключена

Полная запись сообщения в журнале событий выглядит следующим образом:

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).

Чтобы устранить эту проблему, используйте один из следующих методов в зависимости от сценария:

  • Если учетная запись SQL Server запуска является учетной записью локального пользователя на компьютере, откройте *Управление компьютером (compmgmt.msc) и проверка, если учетная запись службы отключена в разделе Локальные пользователи и группы. Если она отключена, включите учетную запись и перезапустите службу SQL Server.

  • Если учетная запись SQL Server запуска является учетной записью домена Windows, проверка, отключена ли учетная запись в Пользователи и компьютеры Active Directory. Если она отключена, включите учетную запись и перезапустите службу SQL Server.

Пароль пользователя необходимо изменить перед входом.

Полная запись сообщения в журнале событий выглядит следующим образом:

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).

Чтобы устранить эту проблему, используйте один из следующих методов в зависимости от сценария:

  • Если учетная запись SQL Server запуска является учетной записью локального пользователя на компьютере:

    1. Откройте раздел Управление компьютером (compmgmt.msc).
    2. Выберите Локальные пользователи и группы , а затем выберите Пользователи , чтобы найти учетную запись.
    3. Дважды щелкните учетную запись пользователя, чтобы открыть ее свойства.
    4. Снимите флажок Пользователь должен изменить пароль при следующем входе в SQL Server учетную запись запуска и нажмите кнопку ОК.
    5. Перезапустите службу SQL Server.
  • Если учетная запись SQL Server запуска является учетной записью домена Windows:

    1. Откройте Пользователи и компьютеры Active Directory на контроллере домена.
    2. Выберите Пользователи в правильном домене.
    3. Дважды щелкните учетную запись домена, которая используется в качестве учетной записи службы SQL Server, чтобы открыть ее свойства.
    4. Перейдите на вкладку Учетная запись, чтобы проверка, если пользователь должен изменить пароль при следующем входе. Если параметр включен, очистите этот параметр или войдите в систему в интерактивном режиме на клиентском компьютере Windows, а затем задайте новый пароль.
    5. Если вы изменили пароль, обновите новый пароль для службы SQL Server с помощью средства диспетчер конфигурации SQL Server.

Неправильное имя пользователя или пароль

Для неправильной проблемы с паролем полная запись сообщения в журнале событий выглядит следующим образом:

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).

Для устранения данной проблемы выполните следующие действия.

Сценарий 1. Неправильный пароль

В сообщении об ошибке указано, что текущее имя входа или пароль заданы неправильно. Чтобы проверить и устранить проблему, выполните следующие действия.

  1. runas Используйте параметр для проверки учетных данных учетной записи службы:

    1. Откройте командную строку Windows.

    2. Выполните следующую команду:

      runas /user:<localmachine>\<SQLSerivceAccount> cmd
      
  2. Если команда выполнена успешно, тщательно введите те же учетные данные в диспетчер конфигурации SQL Server, Службы, служба SQL Server иЭта учетная запись.

  3. Если команда завершается ошибкой и сообщает о той же проблеме, необходимо сбросить пароль для входа Windows.

  4. Если учетная запись SQL Server Запуска является учетной записью локального пользователя на компьютере, откройте раздел Управление компьютером (compmgmt.msc) и сбросьте пароль локального пользователя.

  5. Если учетная запись SQL Server запуска является учетной записью домена Windows, откройте Пользователи и компьютеры Active Directory, а затем обновите пароль учетной записи в разделе Пользователи. После обновления учетных данных вернитесь к диспетчер конфигурации SQL ServerСлужбыSQL Server и введите те же учетные данные.

  6. Перезапустите службу SQL Server.

    Чтобы ввести правильный пароль в учетной записи службы SQL Server на SQL Server хост-компьютере, следуйте инструкциям из раздела Службы SCM — изменение пароля используемых учетных записей.

Сценарий 2. Флаг gMSA IsManagedAccount установлен неправильно

Если вы используете групповую учетную запись управляемых служб (gMSA) для запуска службы SQL Server и IsManagedAccount флаг для данной службы имеет значение false, вы можете получить событие Service Control Manager с идентификатором 7038, как только кэшированный секрет будет недопустим.

Чтобы определить и устранить проблему, выполните следующие действия.

  1. Убедитесь, что используется учетная запись gMSA. Продолжайте только после подтверждения gMSA.

    • Если следующая команда успешно выполняется в учетной записи, вы используете учетную запись gMSG.
    • Если сбой с Cannot find an object with identity: 'account', учетная запись службы не является учетной записью gMSA.
    Get-ADServiceAccount -Identity 'yourGmsaName' -Properties PasswordLastSet
    

    Дополнительные сведения см. в разделе Проверка учетной записи gMSA.

  2. Выполните следующую команду в командной строке и проверка состояние IsManagedAccount. Желаемый результат является истинным. Если задано значение false, продолжайте дальше.

    sc qmanagedaccount <YourSQLServiceName>
    

    Пример для SQL Server с именем экземпляра SQLPROD:

    sc qmanagedaccount MSSQL$SQLPROD
    
  3. При необходимости установите для флага значение true.

    sc managedaccount <YourSQLServiceName> TRUE
    

    Пример для SQL Server с именем экземпляра SQLPROD:

    sc managedaccount MSSQL$SQLPROD TRUE
    
  4. Повторите попытку запуска службы.

Указанная учетная запись в настоящее время заблокирована и может не войти в систему.

Полная запись сообщения в журнале событий выглядит следующим образом:

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).

Чтобы устранить эту проблему, используйте один из следующих методов в зависимости от сценария:

  • Если учетная запись SQL Server запуска является учетной записью локального пользователя на компьютере:

    1. Откройте управление компьютером (compmgmt.msc) и выберите Локальные пользователи и группы. Затем выберите Пользователи.
    2. Снимите флажок Учетная запись заблокирована для учетной записи запуска SQL Server в разделе Локальные пользователи и группы и нажмите кнопку ОК.
    3. Перезапустите службу SQL Server.
  • Если учетная запись SQL Server запуска является учетной записью домена Windows:

    1. Откройте Пользователи и компьютеры Active Directory на контроллере домена.
    2. В разделе Пользователи дважды щелкните учетную запись SQL Server запуска и перейдите на вкладку Учетная запись.
    3. Проверьте, помечена ли учетная запись как заблокированная.
    4. Если учетная запись заблокирована, выберите поле Разблокировать учетную запись и нажмите кнопку ОК, задайте надежный пароль.
    5. Затем используйте те же учетные данные для конфигурации учетной записи службы SQL Server в диспетчер конфигурации SQL Server, службах и SQL Server.
    6. Перезапустите службу SQL Server.

Указанный домен либо не существует, либо не удалось связаться

Полная запись сообщения в журнале событий выглядит следующим образом:

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).

Чтобы устранить эту проблему, используйте один из следующих методов в зависимости от сценария:

  • Настройте запуск SQL Server на отложенный запуск для определенных серверов Windows, что гарантирует, что другие службы Windows, такие как NetLogon, будут завершены первым и SQL Server запуска без проблем. Это конфигурация по умолчанию в программе установки SQL, начиная с SQL Server 2022.

  • Если параметр отложенного запуска не позволяет решить проблему в вашем сценарии, альтернативным вариантом является изменение параметров восстановления для служб SQL Server. Укажите "Перезапустить службу" в качестве действия для параметров сбоя. Этот параметр можно выполнить из апплета Службы администрирования с помощью знакомых интерфейсов Service Control Manager.

    • Этот параметр не рекомендуется использовать для экземпляров отказоустойчивого кластера SQL (FCIs) или групп доступности (AG), так как этот параметр может привести к задержкам во время сценариев автоматической отработки отказа.
  • Если ни один из предыдущих вариантов не является возможным, вы можете настроить SQL Server службу так, чтобы она зависела от службы NETLOGON с помощью следующей команды в консоли командной строки с повышенными привилегиями:

    sc config <YourSQLServiceName> depend=keyiso/netlogon
    

    Пример для SQL Server с именем экземпляра SQLPROD:

    sc config MSSQL$SQLPROD depend=keyiso/netlogon