sqlservr 응용 프로그램

sqlservr 응용 프로그램은 명령 프롬프트에서 Microsoft SQL Server 인스턴스를 시작, 중지, 일시 중지 및 계속합니다.

구문

sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f] 
     [-eerror_log_path] [-lmaster_log_path] [-m]
     [-n] [-Ttrace#] [-v] [-x] [-gnumber] [-h]

인수

  • -sinstance_name
    연결할 SQL Server의 인스턴스를 지정합니다. 명명된 인스턴스가 지정되지 않으면 sqlservr은 SQL Server의 기본 인스턴스를 시작합니다.

    중요 정보중요

    SQL Server 인스턴스를 시작할 때 해당 인스턴스에 대한 디렉터리에 있는 sqlservr 응용 프로그램을 사용해야 합니다. 기본 인스턴스의 경우 \MSSQL\Binn 디렉터리에서 sqlservr을 실행합니다. 명명된 인스턴스의 경우 \MSSQL$instance_name\Binn 디렉터리에서 sqlservr을 실행합니다.

  • -c
    SQL Server 인스턴스가 Windows 서비스 제어 관리자와 별개로 시작됨을 나타냅니다. 이 옵션을 사용하면 명령 프롬프트에서 SQL Server를 시작하기 때문에 SQL Server를 시작하는 데 걸리는 시간을 줄일 수 있습니다.

    [!참고]

    이 옵션을 사용하는 경우 SQL Server 서비스 관리자 또는 net stop 명령을 사용하여 SQL Server를 중지할 수 없으며 컴퓨터에서 로그오프하면 SQL Server가 중지됩니다.

  • -dmaster_path
    master 데이터베이스 파일의 정규화된 경로를 나타냅니다. -d와 master_path 사이에 공백이 없어야 합니다. 이 옵션이 제공되지 않으면 기존의 레지스트리 매개 변수를 사용합니다.

  • -f
    SQL Server 인스턴스를 최소 구성으로 시작합니다. 예를 들어 오버 커밋 메모리 같은 구성 값의 설정 때문에 서버를 시작할 수 없을 경우에 유용합니다.

  • -eerror_log_path
    오류 로그 파일의 정식 경로를 나타냅니다. 이 옵션을 지정하지 않으면 기본 위치는 기본 인스턴스의 경우 <Drive>:\Program Files\Microsoft SQL Server\MSSQL\Log\Errorlog이고 명명된 인스턴스의 경우 <Drive>:\Program Files\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog입니다. -e와 error_log_path 사이에 공백이 없어야 합니다.

  • -lmaster_log_path
    master 데이터베이스 트랜잭션 로그 파일의 정규화된 경로를 나타냅니다. -l과 master_log_path 사이에 공백이 없어야 합니다.

  • -m
    SQL Server를 단일 사용자 모드로 시작하도록 지정합니다. SQL Server를 단일 사용자 모드로 시작하면 한 사용자만 연결할 수 있습니다. 디스크 캐시에 있는 완료된 트랜잭션이 정기적으로 데이터베이스 장치에 기록되도록 하는 CHECKPOINT 메커니즘이 시작되지 않았습니다. 대개 시스템 데이터베이스에 문제가 있어서 복구해야 하는 경우 이 옵션을 사용합니다. sp_configure?allow updates 옵션을 설정합니다. 기본적으로 allow updates는 사용할 수 없습니다.

  • -n
    명명된 SQL Server 인스턴스를 시작할 수 있습니다. -s 매개 변수를 설정하지 않으면 기본 인스턴스가 시작됩니다. sqlservr.exe를 시작하기 전에 명령 프롬프트에서 해당 인스턴스에 대한 적합한 BINN 디렉터리로 전환해야 합니다. 예를 들어 Instance1이 이진 파일에 대해 \mssql$Instance1을 사용할 경우, 사용자는 \mssql$Instance1\binn 디렉터리에서 sqlservr.exe -s instance1을 시작해야 합니다. -n 옵션을 지정하여 SQL Server 인스턴스를 시작하는 경우에는 -e 옵션을 함께 사용하는 것이 좋습니다. 그러지 않으면 SQL Server 이벤트가 기록되지 않습니다.

  • -Ttrace#
    지정된 추적 플래그(trace#) 적용 시 SQL Server 인스턴스를 시작해야 함을 나타냅니다. 추적 플래그는 비표준 동작으로 서버를 시작하는 데 사용합니다. 자세한 내용은 추적 플래그(Transact-SQL)를 참조하십시오.

    중요 정보중요

    추적 플래그를 지정할 때는 -T를 사용하여 추적 플래그 번호를 전달합니다. SQL Server에서 소문자 t(-t)를 사용할 수는 있습니다. 그러나 -t는 SQL Server 지원 엔지니어만 필요로 하는 다른 내부 추적 플래그를 설정하는 데 사용합니다.

  • -v
    서버 버전 번호를 표시합니다.

  • -x
    CPU 시간과 캐시 적중률 통계를 유지할 수 없도록 합니다. 최고의 성능을 허용합니다.

  • -gmemory_to_reserve
    SQL Server는 SQL Server 프로세스 내, SQL Server 메모리 풀 외부의 메모리 할당에 사용할 수 있도록 남겨 두는 메모리 양(MB)을 정수로 지정합니다. 메모리 풀 외부의 메모리는 SQL Server에서 확장 프로시저 .dll 파일, 분산 쿼리에서 참조하는 OLE DB 공급자 및 Transact-SQL 문에서 참조되는 자동화 개체 같은 항목을 로드하는 데 사용하는 영역입니다. 기본값은 256MB입니다.

    이 옵션을 사용하면 메모리 할당을 튜닝에 도움이 될 수 있으나 실제 메모리가 운영 체제에서 응용 프로그램에 사용할 수 있도록 구성된 가상 메모리 한계보다 큰 경우에만 사용할 수 있습니다. 이 옵션은 SQL Server의 메모리 사용 요청이 불규칙하고 SQL Server 프로세스의 가상 주소 공간이 전부 사용되는 대량 메모리 구성에서 사용하는 것이 적합합니다. 이 옵션을 제대로 사용하지 않으면 SQL Server 인스턴스를 시작할 수 없거나 런타임 오류가 발생할 수도 있습니다.

    SQL Server 오류 로그에서 다음 경고가 표시되지 않으면 -g 매개 변수의 기본값을 사용해야 합니다.

    • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>"

    • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <size>"

    이 메시지에 따르면 SQL Server는 확장 저장 프로시저 dll 파일이나 OLE 자동화 개체 등의 항목에 필요한 공간을 찾기 위해 SQL Server 메모리 풀의 일부를 없애려고 합니다. 이 경우 -g스위치로 예약되는 메모리 양을 늘려 보십시오.

    기본값보다 낮은 값을 사용하면 버퍼 풀과 스레드 스택을 사용할 수 있는 메모리 양을 증가시켜, 확장 저장 프로시저, 분산 쿼리, OLE 자동화 개체 등을 사용하지 않는 시스템에서 메모리 집중형 작업 부하에 대한 성능상의 이점을 제공할 수 있습니다.

  • -h
    32비트 SQL Server에서 AWE가 설정된 경우 Hot Add 메모리 메타데이터에 대해 가상 메모리 주소 공간을 예약합니다. 32비트 AWE의 Hot Add 메모리에 필요하지만 약 0.5GB의 가상 주소 공간을 사용하며 메모리를 튜닝하기가 더 어렵습니다. 64비트 SQL Server에는 필요하지는 않습니다.

주의

대부분의 경우 sqlserver.exe 프로그램은 문제 해결이나 주요 유지 관리 작업에만 사용됩니다. sqlservr.exe를 사용하여 명령 프롬프트에서 SQL Server를 시작할 경우 SQL Server는 서비스로 실행되지 않으므로 net 명령을 사용하여 SQL Server를 중지할 수 없습니다. SQL Server에 연결할 수 있지만 SQL Server 도구에서 서비스 상태를 표시하므로 SQL Server 구성 관리자는 서비스가 중지되었음을 올바르게 나타냅니다. SQL Server Management Studio에서 서버에 연결할 수 있지만 마찬가지로 서비스가 중지되었음을 나타냅니다.