방법: SQL Server 인스턴스 시작(sqlservr.exe)

SQL Server 데이터베이스 엔진이 시작되지 않는 경우 한 가지 문제 해결 단계로 명령 프롬프트에서 데이터베이스 엔진을 시작해 볼 수 있습니다. 이 항목에서는 데이터베이스 엔진 인스턴스를 시작하는 방법에 대해 설명합니다.

[!참고]

문제 해결을 위한 경우에만 명령 프롬프트에서 SQL Server를 시작해야 합니다. 일상적인 사용을 위해 SQL Server 데이터베이스 엔진을 시작하려면 방법: SQL Server 인스턴스 시작(SQL Server 구성 관리자)을 참조하십시오.

일반적인 SQL Server 시작 과정은 SQL Server 파일이 올바른 위치에 있어야 하고 SQL Server 및 Microsoft Windows 서비스에 대한 레지스트리 설정이 구성되어야 있어야 하고 SQL Server 서비스에서 사용하는 도메인 계정에 올바른 파일 및 레지스트리 권한이 있어야 하는 복잡한 작업입니다. 따라서 일반적인 문제 해결 단계는 SQL Server의 환경을 단순화하여 이상적인 조건에서 시작할 수 있는지 확인하는 것입니다. 문제 해결 과정은 대개 "Windows 서비스 제어 관리자를 사용하지 않고 로컬 Administrators 그룹에 있는 계정을 사용하여 SQL Server를 시작할 수 있습니까"라는 질문으로 시작합니다. 이 질문에 대한 답이 "예"이면 서비스 제어 관리자와 관련된 문제가 있거나 SQL Server 서비스에서 사용할 계정에 할당된 권한에 문제가 있는 것입니다. 답이 "아니요"이면 서비스 제어 관리자를 통해 이전에 표시되지 않은 오류 메시지가 표시되거나 SQL Server 파일 또는 레지스트리 설정에 문제가 있는 것입니다.

주의 사항주의

SQL Server를 시작할 수 있는지 테스트하는 목적 이외에는 명령줄에서 SQL Server를 실행하지 마십시오. 명령줄에서 SQL Server를 시작한 후 유지 관리 동작을 수행하면 나중에 오류가 발생할 수 있습니다. 예를 들어 관리자로 로그인하여 새 데이터베이스를 만들거나 데이터 파일의 위치를 변경하면 나중에 SQL Server 서비스의 일반 계정에서 SQL Server를 실행한 경우 해당 데이터베이스나 데이터 파일에 액세스할 수 없습니다.

명령줄에서 SQL Server를 실행할 때에는 다음 제한 사항을 고려하십시오.

  • 명령 프롬프트 창을 최소화하면 Windows에서 SQL Server의 거의 모든 리소스를 제거합니다. SQL Server는 이런 방식으로 작동하도록 디자인된 것이 아니므로 이것은 정상입니다.

  • SQL Server는 설치 중에 SQL Server를 실행하도록 할당된 계정의 보안 컨텍스트가 아닌 사용자의 보안 컨텍스트에서 실행됩니다.

  • 모든 시스템 메시지는 SQL Server 인스턴스를 시작하는 데 사용한 창에 나타납니다.

  • SQL Server Management Studio, SQL Server Configuration Manager, 제어판의 서비스 응용 프로그램 또는 모든 net 명령(예: net start, net pause, net continuenet stop)을 사용하여 SQL Server 인스턴스를 Microsoft Windows 서비스로 일시 중지, 중지 또는 다시 시작할 수 없습니다.

  • Windows를 로그오프하기 전에 SQL Server 인스턴스를 종료해야 합니다.

  • 사용자가 입력하는 모든 명령 프롬프트 옵션은 SQL Server 설치 시 Windows 레지스트리에 기록된 기본 명령 프롬프트 옵션보다 우선합니다.

  • SQL Server Configuration Manager와 SQL Server Management Studio는 서비스가 중지된 것으로 표시합니다.

올바른 SQL Server 인스턴스 시작

기본적으로 sqlservr.exe는 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn에 있습니다. SQL Server의 두 번째 인스턴스가 설치되어 있으면 sqlservr.exe의 두 번째 복사본은 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn과 같은 디렉터리에 있습니다. 다른 인스턴스의 sqlservr.exe를 사용하여 SQL Server 인스턴스를 시작할 수 있지만 SQL Server에서 서비스 팩을 포함하여 잘못된 버전의 인스턴스를 시작하므로 예기치 못한 결과가 발생할 수 있습니다. 이를 방지하려면 sqlservr.exe를 시작하기 전에 다음 예처럼 MS-DOS 디렉터리 변경 명령(cd)을 사용하여 올바른 디렉터리로 이동합니다.

cd \Program Files\Microsoft SQL Server\MSSQL.10_50\MSSQL\Binn

명령 프롬프트에서 SQL Server의 기본 인스턴스를 시작하려면

  • 명령 프롬프트에서 다음 명령을 입력합니다.

    sqlservr.exe
    

명령 프롬프트에서 SQL Server의 명명된 인스턴스를 시작하려면

  • 명령 프롬프트에서 다음 명령을 입력하고 <instancename>을 시작할 인스턴스 이름으로 바꿉니다.

    sqlservr.exe -s <instancename>
    

명령 프롬프트에서 SQL Server의 기본 인스턴스를 단일 사용자 모드로 시작하려면

  • 명령 프롬프트에서 다음 명령을 입력합니다.

    sqlservr.exe -m
    

    다른 사용자는 SQL Server에 연결하지 못하도록 응급 유지 관리를 수행하는 경우에는 단일 사용자 모드를 사용하면 좋습니다. 그러나 SQL Server 에이전트 서비스를 포함하여 모든 사용자는 단일 사용자가 될 수 있습니다.

명령 프롬프트에서 SQL Server의 명명된 인스턴스를 단일 사용자 모드로 시작하려면

  • 명령 프롬프트에서 다음 명령을 입력합니다.

    sqlservr.exe -m -s <instancename>
    

SQL Server의 기본 인스턴스를 최소 구성으로 시작하려면

  • 명령 프롬프트에서 다음 명령을 입력합니다.

    sqlservr.exe -f
    

SQL Server의 명명된 인스턴스를 최소 구성으로 시작하려면

  • 명령 프롬프트에서 다음 명령을 입력합니다.

    sqlservr.exe -f -s <instancename>