SQL Server 서비스 시작, 중지, 일시 중지, 재개 및 다시 시작

적용 대상:SQL Server - Windows 전용

이 문서에서는 SQL Server 구성 관리자, SSMS(SQL Server Management Studio), 명령 프롬프트의 net 명령, Transact-SQL 또는 PowerShell을 사용하여 Windows에서 SQL Server 데이터베이스 엔진, SQL Server 에이전트 또는 SQL Server Browser 서비스를 시작, 중지, 일시 중지, 계속 또는 다시 시작하는 방법을 설명합니다.

SQL Server on Linux의 경우 Linux에서 SQL Server 서비스 시작, 중지 및 다시 시작을 참조하세요.

서비스 확인

SQL Server 구성 요소는 Windows 서비스로 실행되는 실행 가능한 프로그램입니다. Windows 서비스는 컴퓨터 화면에 작업을 표시하지 않고 명령줄에서 사용자 상호 작용 없이 실행할 수 있습니다.

데이터베이스 엔진 서비스

데이터베이스 엔진 서비스는 컴퓨터당 하나로 제한되는 기본 인스턴스이거나, 컴퓨터의 명명된 여러 인스턴스 중 하나일 수 있습니다. SQL Server 구성 관리자를 사용하여 컴퓨터에 설치된 데이터베이스 엔진 인스턴스를 찾을 수 있습니다. 기본 인스턴스(설치한 경우)는 SQL Server(MSSQLSERVER) 로 나열됩니다. 명명된 인스턴스(설치한 경우)는 SQL Server(<instance_name>)로 나열됩니다. 기본적으로 SQL Server Express는 SQL Server(SQLEXPRESS) 로 설치됩니다.

SQL Server 에이전트 서비스

SQL Server 에이전트는 작업 및 경고라고 하는 예약된 관리 태스크를 실행합니다. 자세한 내용은 SQL Server Agent을 참조하세요. 모든 SQL Server 버전에서 SQL Server 에이전트를 사용할 수 있는 것은 아닙니다. SQL Server 버전에서 지원되는 기능 목록은 SQL Server 2022의 버전과 지원하는 기능을 참조하세요.

SQL Server Browser 서비스

SQL Server Browser 서비스에서는 SQL Server 리소스에 대해 들어오는 요청을 수신하고 컴퓨터에 설치된 SQL Server 인스턴스에 대한 정보를 클라이언트에 제공합니다. 컴퓨터에 설치된 모든 SQL Server 인스턴스에서 SQL Server Browser 서비스의 단일 인스턴스를 사용합니다.

추가 정보

  • 데이터베이스 엔진 서비스를 일시 중지하는 경우 이미 연결된 사용자는 연결이 끊어질 때까지 계속 작동할 수 있지만 새 사용자는 데이터베이스 엔진에 연결할 수 없습니다. 서비스를 중지하기 전에 사용자가 작업을 완료할 때까지 기다리려는 경우 일시 중지를 사용합니다. 그러면 진행 중인 트랜잭션을 완료할 수 있습니다. ‘계속’을 사용하면 데이터베이스 엔진에서 새 연결을 다시 허용할 수 있습니다. SQL Server 에이전트 서비스는 일시 중지하거나 재개할 수 없습니다.

  • SQL Server 구성 관리자와 SSMS에서는 다음 아이콘을 사용하여 서비스의 현재 상태를 표시합니다.

SQL Server 구성 관리자 SSMS(SQL Server Management Studio)
시작됨 서비스 이름 옆의 아이콘 위에 녹색 화살표가 표시됨 서비스 이름 옆의 녹색 원 아이콘 위에 흰색 화살표가 표시됨
중지됨 서비스 이름 옆의 아이콘 위에 빨간색 정사각형이 표시됨 서비스 이름 옆의 빨간색 원 아이콘 위에 흰색 정사각형이 표시됨
일시 중지됨 서비스 이름 옆의 아이콘 위에 파란색 세로 선 두 개가 표시됨 서비스 이름 옆의 파란색 원 아이콘 위에 흰색 세로 선 두 개가 표시됨
다시 시작 빨간색 정사각형은 서비스가 중지되었음을 나타내고, 녹색 화살표는 서비스가 성공적으로 시작되었음을 나타냄 없음
  • SQL Server 구성 관리자 또는 SSMS를 사용할 때 서비스 상태에 따라 일부 옵션에 액세스할 수 없습니다. 예를 들어 서비스가 이미 시작된 경우 시작은 제공되지 않습니다.

  • 클러스터에서 실행 중인 경우 SQL Server 데이터베이스 엔진 서비스를 가장 잘 관리하려면 클러스터 관리자를 사용합니다.

사용 권한

기본적으로 로컬 관리자 그룹의 멤버만 서비스를 시작, 중지, 일시 중지, 재개 또는 다시 시작할 수 있습니다. 관리자가 아닌 사용자에게 서비스 관리 권한을 부여하려면 Windows Server 2003에서 사용자에게 서비스 관리 권한을 부여하는 방법을 참조하세요. 이 프로세스는 다른 Windows Server 버전에서도 비슷합니다.

Transact-SQL SHUTDOWN 명령을 사용하여 데이터베이스 엔진을 중지하려면 sysadmin 또는 serveradmin 고정 서버 역할의 멤버 자격이 있어야 하며, 이 권한은 양도할 수 없습니다.

SQL Server 구성 관리자

SQL Server 구성 관리자 시작

시작 메뉴에서 모든 프로그램 > Microsoft SQL Server > 구성 도구 > SQL Server 구성 관리자를 선택합니다.

SQL Server 구성 관리자는 Microsoft Management Console 프로그램용 스냅인이므로, 일부 Windows 버전에서는 애플리케이션으로 표시되지 않을 수 있습니다. 자세한 내용은 SQL Server Configuration Manager을 참조하세요.

SQL Server 데이터베이스 엔진 인스턴스 시작, 중지, 일시 중지, 계속 또는 다시 시작

  1. 이전 섹션의 지침에 따라 SQL Server 구성 관리자를 시작합니다.

  2. 사용자 계정 컨트롤 대화 상자가 나타나면 를 선택합니다.

  3. SQL Server 구성 관리자의 왼쪽 창에서 SQL Server 서비스를 선택합니다.

  4. 결과 창에서 SQL Server(MSSQLServer) 또는 명명된 인스턴스를 마우스 오른쪽 단추로 클릭하고 시작, 중지, 일시 중지, 재개 또는 다시 시작을 선택합니다.

  5. 확인을 선택하여 SQL Server 구성 관리자를 닫습니다.

참고

시작 옵션을 사용하여 데이터베이스 엔진 인스턴스를 시작하려면 서버 시작 옵션 구성(SQL Server 구성 관리자)을 참조하세요.

중요

SQL Server 2022(16.x)부터 Configuration Manager에서 SQL Server 서비스의 시작 모드자동으로 설정하면 시작 모드자동으로 표시되더라도 서비스가 자동(지연된 시작) 모드로 시작됩니다.

SQL Server Browser 또는 SQL Server 에이전트 인스턴스 시작, 중지, 일시 중지, 재개 또는 다시 시작

  1. 이전 섹션의 지침에 따라 SQL Server 구성 관리자를 시작합니다.

  2. 사용자 계정 컨트롤 대화 상자가 나타나면 를 선택합니다.

  3. SQL Server 구성 관리자의 왼쪽 창에서 SQL Server 서비스를 선택합니다.

  4. 결과 창에서 SQL Server Browser 또는 SQL Server 에이전트(MSSQLServer) 또는 명명된 인스턴스의 SQL Server 에이전트(<instance_name>)를 마우스 오른쪽 단추로 클릭한 다음, 시작, 중지, 일시 중지, 계속 또는 다시 시작을 선택합니다.

  5. 확인을 선택하여 SQL Server 구성 관리자를 닫습니다.

참고 항목

SQL Server 에이전트는 일시 중지할 수 없습니다.

SQL Server Management Studio

데이터베이스 엔진 인스턴스 시작, 중지, 일시 중지, 계속 또는 다시 시작

  1. 개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결하고 시작할 데이터베이스 엔진 인스턴스를 마우스 오른쪽 단추로 클릭한 다음, 시작, 중지, 일시 중지, 계속 또는 다시 시작을 선택합니다.

    또는 등록된 서버에서 시작할 데이터베이스 엔진 인스턴스를 마우스 오른쪽 단추로 클릭하고 서비스 제어를 가리킨 다음, 시작, 중지, 일시 중지, 계속 또는 다시 시작을 선택합니다.

  2. 사용자 계정 컨트롤 대화 상자가 나타나면 를 선택합니다.

  3. 작업을 수행할지 여부를 묻는 메시지가 표시되면 를 선택합니다.

SQL Server 에이전트 인스턴스 시작, 중지 또는 다시 시작

  1. 개체 탐색기에서 데이터베이스 엔진 인스턴스에 연결하고 SQL Server 에이전트를 마우스 오른쪽 단추로 클릭한 다음, 시작, 중지 또는 다시 시작을 선택합니다.

  2. 사용자 계정 컨트롤 대화 상자가 나타나면 를 선택합니다.

  3. 작업을 수행할지 여부를 묻는 메시지가 표시되면 를 선택합니다.

명령 프롬프트 창 net 명령 사용

Windows net 명령을 사용하여 SQL Server 서비스를 시작, 중지 또는 일시 중지할 수 있습니다.

데이터베이스 엔진의 기본 인스턴스 시작

  • 명령 프롬프트에서 다음 명령 중 하나를 입력합니다.

    net start "SQL Server (MSSQLSERVER)"
    

    또는

    net start MSSQLSERVER
    

데이터베이스 엔진의 명명된 인스턴스 시작

  • 명령 프롬프트에서 다음 명령 중 하나를 입력합니다. <instancename> 을 관리할 인스턴스 이름으로 바꿉니다.

    net start "SQL Server (instancename)"
    

    또는

    net start MSSQL$instancename
    

시작 옵션을 사용하여 데이터베이스 엔진 시작

  • net start "SQL Server (MSSQLSERVER)" 문 끝에 공백으로 구분된 시작 옵션을 추가합니다. net start를 사용하여 시작하는 경우에는 시작 옵션에 하이픈(-) 대신 슬래시(/)를 사용합니다.

    net start "SQL Server (MSSQLSERVER)" /f /m
    

    또는

    net start MSSQLSERVER /f /m
    

    참고

    시작 옵션에 대한 자세한 내용은 데이터베이스 엔진 서비스 시작 옵션을 참조하세요.

SQL Server의 기본 인스턴스에서 SQL Server 에이전트 시작

  • 명령 프롬프트에서 다음 명령 중 하나를 입력합니다.

    net start "SQL Server Agent (MSSQLSERVER)"
    

    또는

    net start SQLSERVERAGENT
    

SQL Server의 명명된 인스턴스에서 SQL Server 에이전트 시작

  • 명령 프롬프트에서 다음 명령 중 하나를 입력합니다. instancename 을 관리할 인스턴스 이름으로 바꿉니다.

    net start "SQL Server Agent (instancename)"
    

    또는

    net start SQLAgent$instancename
    

문제 해결을 위해 SQL Server 에이전트를 자세한 정보 표시 모드로 실행하는 방법에 대한 자세한 내용은 sqlagent90 애플리케이션을 참조하세요.

SQL Server Browser 시작

  • 명령 프롬프트에서 다음 명령 중 하나를 입력합니다.

    net start "SQL Server Browser"
    

    또는

    net start SQLBrowser
    

명령 프롬프트 창에서 서비스를 일시 중지 또는 중지

서비스를 일시 중지하거나 중지하려면 다음과 같은 방법으로 명령을 수정합니다.

  • 서비스를 일시 중지하려면 net pausenet start로 대체합니다.

  • 서비스를 중지하려면 net stopnet start로 대체합니다.

Transact-SQL

SHUTDOWN 문을 사용하여 데이터베이스 엔진을 중지할 수 있습니다.

Transact-SQL을 사용하여 데이터베이스 엔진 중지

  • 현재 실행 중인 Transact-SQL 문과 저장 프로시저가 완료될 때까지 기다린 후에 데이터베이스 엔진을 중지하려면 다음 문을 실행합니다.

    SHUTDOWN;
    
  • 데이터베이스 엔진을 즉시 중지하려면 다음 문을 실행합니다.

    SHUTDOWN WITH NOWAIT;
    

SHUTDOWN 문에 대한 자세한 내용은 SHUTDOWN(Transact-SQL)을 참조하세요.

PowerShell

데이터베이스 엔진 서비스 시작 및 중지

  1. SQL Server PowerShell 명령 프롬프트에서 다음 명령을 실행합니다. computername 을 사용 중인 컴퓨터의 이름으로 바꿉니다.

    # Get a reference to the ManagedComputer class.
    CD SQLSERVER:\SQL\computername
    $Wmi = (get-item .).ManagedComputer
    
  2. 중지하거나 시작할 서비스를 확인합니다. 다음 줄 중 하나를 선택합니다. instancename 을 명명된 인스턴스의 이름으로 바꿉니다.

    • 데이터베이스 엔진의 기본 인스턴스에 대한 참조를 가져오려면 다음을 수행합니다.

      $DfltInstance = $Wmi.Services['MSSQLSERVER']
      
    • 데이터베이스 엔진의 명명된 인스턴스에 대한 참조를 가져오려면 다음을 수행합니다.

      $DfltInstance = $Wmi.Services['MSSQL$instancename']
      
    • 데이터베이스 엔진의 기본 인스턴스에서 SQL Server 에이전트 서비스에 대한 참조를 가져오려면 다음을 수행합니다.

      $DfltInstance = $Wmi.Services['SQLSERVERAGENT']
      
    • 데이터베이스 엔진의 명명된 인스턴스에서 SQL Server 에이전트 서비스에 대한 참조를 가져오려면 다음을 수행합니다.

      $DfltInstance = $Wmi.Services['SQLAGENT$instancename']
      
    • SQL Server Browser 서비스에 대한 참조를 가져오려면 다음을 수행합니다.

      $DfltInstance = $Wmi.Services['SQLBROWSER']
      
  3. 예를 완료하여 선택한 서비스를 시작한 다음 중지합니다.

    # Display the state of the service.
    $DfltInstance
    # Start the service.
    $DfltInstance.Start();
    # Wait until the service has time to start.
    # Refresh the cache.
    $DfltInstance.Refresh();
    # Display the state of the service.
    $DfltInstance
    # Stop the service.
    $DfltInstance.Stop();
    # Wait until the service has time to stop.
    # Refresh the cache.
    $DfltInstance.Refresh();
    # Display the state of the service.
    $DfltInstance
    

비활성화된 인스턴스 확인 및 사용

SQL Server 서비스 인스턴스를 사용할 수 없는지 여부를 확인하려면 다음 단계를 수행합니다.

  1. 서비스 식별 섹션의 정보를 사용하여 검사 서비스를 식별합니다.

  2. SQL Server 구성 관리자에서 SQL Server 서비스를 선택한 다음 관심 있는 서비스를 찾습니다.

  3. 시작 모드 열의 값이 기타(부팅, 시스템, 사용 안 함 또는 알 수 없음)로 설정된 경우 일반적으로 해당 서비스를 사용할 수 없음을 의미합니다. 서비스를 사용하도록 설정하려면 다음 단계를 수행합니다.

    1. 이름 열에서 해당 서비스를 마우스 오른쪽 단추로 클릭한 다음 <서비스 이름> 속성 창에서 서비스 탭으로 전환합니다.

    2. 시작 모드 열의 값을 검토하고 사용 안 함으로 설정되어 있는지 확인합니다.

    3. 요구 사항에 따라 값을 수동 또는 자동으로 변경합니다. 자세한 내용은 서버 시작 옵션 구성(SQL Server 구성 관리자)을 참조하세요.

ServiceController 클래스 사용

ServiceController 클래스를 사용하여 SQL Server 서비스 또는 다른 모든 Windows 서비스를 프로그래밍 방식으로 제어할 수 있습니다. C#을 사용하는 예제는 ServiceController 클래스를 참조하세요.

서비스 시작 문제 해결

SQL Server 서비스를 시작하려고 하면 구성 문제가 있는 경우 시작되지 않을 수 있습니다. 서비스 특정 로그를 검토하여 문제를 식별하고 해결할 수 있습니다. 특정 문제에 대한 자세한 문제 해결 단계 및 해결 방법은 다음 문서에서 확인할 수 있습니다.

다음 단계