다음을 통해 공유


SQL Server 서비스를 시작할 때 오류 1069가 발생합니다.

SQL Server 서비스를 시작할 때 오류 1069가 표시되어 로그온 실패가 발생합니다. 이 문서에서는 오류 1069 관련 이벤트에 대한 해결을 제공합니다.

원래 제품 버전: SQL Server
원래 KB 번호: 282254

증상

Microsoft SQL Server 또는 SQL Server 에이전트 다시 시작하려고 하면 서비스가 시작되지 않으며 서비스를 시작하는 방법에 따라 다음과 같은 오류 메시지가 표시됩니다.

  • 서비스 애플릿을 사용하여 다음을 수행합니다.

    Windows에서 로컬 컴퓨터에서 SQL Server 서비스를 시작할 수 없습니다.
    오류 1069: 로그온 실패로 인해 서비스가 시작되지 않았습니다.

  • 명령 프롬프트를 사용하여 다음을 수행합니다.

    시스템 오류 1069가 발생했습니다.
    로그온 오류로 인해 서비스를 시작하지 못했습니다.

시스템 이벤트 로그에 기록된 이벤트 ID가 7041 또는 7038인 메시지를 찾을 수 있습니다.

원인

이 문제는 서비스 계정 자체 또는 서비스 계정에 대해 현재 저장된 정보에 문제가 있기 때문에 발생합니다.

이벤트 ID 7041에 대한 해결 방법

시스템 이벤트 로그의 이벤트 ID가 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. 로컬 보안 정책(시작 -> Secpol.msc)을 시작합니다.

  2. 로컬 정책을 확장한 다음 사용자 권한 할당을 선택합니다.

  3. Windows 권한 및 권한의 지침에 따라 필요한 사용자 권한이 서비스 계정에 할당되었는지 확인합니다. 누락된 권한을 수동으로 할당합니다.

  4. 서비스 계정에 Deny* 권한이 할당되었는지 확인합니다. SQL 서비스 서비스 계정에서 Deny* 권한을 제거한 다음 다시 테스트합니다.

    예를 들어 서비스 계정에 서비스 로그온 거부가 서비스로 SeDenyServiceLogonRight로그온된 경우 로그SeServiceLogonRight온에 대한 권한을 취소 SeDenyServiceLogonRight 하고 SQL Server를 다시 시작합니다.

이벤트 ID 7038에 대한 해결 방법

이벤트 ID 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 이벤트 ID 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).

이 문제를 해결하려면 시나리오에 따라 다음 방법 중 하나를 사용합니다.

  • 특정 Windows 서버에 대해 시작이 지연되도록 SQL Server 시작을 구성합니다. 이렇게 하면 NetLogon과 같은 다른 Windows 서비스가 먼저 완료되고 SQL Server가 문제 없이 시작됩니다. SQL Server 2022부터 SQL 설치 프로그램이 기본 구성합니다.

  • 지연된 시작 옵션이 시나리오에 대한 문제를 해결하지 못하는 경우 다른 옵션은 SQL Server 서비스에 대한 복구 옵션을 변경하는 것입니다. 실패 옵션에 대한 작업으로 '서비스 다시 시작'을 지정합니다. 친숙한 Service Control Manager 인터페이스를 사용하여 관리 도구의 서비스 애플릿에서 이 옵션을 수행할 수 있습니다.

    • 자동 장애 조치(failover) 시나리오 중에 지연이 발생할 수 있으므로 이 옵션은 SQL FCI(장애 조치(failover) 클러스터 인스턴스) 또는 AG(가용성 그룹)에 권장되지 않습니다.
  • 이전 옵션 중 어느 것도 가능하지 않은 경우 관리자 권한 명령줄 콘솔에서 다음 명령을 사용하여 NETLOGON 서비스에 종속되도록 SQL Server 서비스를 구성할 수 있습니다.

    sc config <YourSQLServiceName> depend=keyiso/netlogon
    

    SQL SERVER 명명된 인스턴스 SQLPROD의 예:

    sc config MSSQL$SQLPROD depend=keyiso/netlogon