데이터베이스 엔진 서비스 시작 옵션Database Engine Service Startup Options

시작 옵션은 시작하는 동안 필요한 특정 파일 위치를 지정하고 일부 서버 차원의 조건을 지정합니다.Startup options designate certain file locations needed during startup, and specify some server wide conditions. 일반적으로 데이터베이스 엔진Database Engine 에 문제가 발생하거나 예외적인 문제가 발생하여 SQL ServerSQL Server 고객 지원 서비스에서 시작 옵션을 사용하도록 지시하는 경우가 아니면 시작 옵션을 지정할 필요가 없습니다.Most users do not need to specify startup options unless you are troubleshooting the 데이터베이스 엔진Database Engine or you have an unusual problem and are directed to use a startup option by SQL ServerSQL Server Customer Support.

경고

시작 옵션을 잘못 사용하면 서버 성능에 영향을 주고 SQL ServerSQL Server 가 시작되지 않을 수 있습니다.Improper use of startup options can affect server performance and can prevent SQL ServerSQL Server from starting.

시작 옵션 정보About Startup Options

SQL ServerSQL Server를 설치할 때 MicrosoftMicrosoft Windows 레지스트리에 기본 시작 옵션 집합이 기록됩니다.When you install SQL ServerSQL Server, Setup writes a set of default startup options in the MicrosoftMicrosoft Windows registry. 이 시작 옵션을 사용하여 대체 master 데이터베이스 파일, master 데이터베이스 로그 파일 또는 오류 로그 파일 등을 지정할 수 있습니다.You can use these startup options to specify an alternate master database file, master database log file, or error log file. 데이터베이스 엔진Database Engine 에서 필요한 파일을 찾지 못하면 SQL ServerSQL Server 가 시작되지 않습니다.If the 데이터베이스 엔진Database Engine cannot locate the necessary files, SQL ServerSQL Server will not start.

시작 옵션은 SQL ServerSQL Server 구성 관리자를 사용하여 설정할 수 있습니다.Startup options can be set by using SQL ServerSQL Server Configuration Manager. 자세한 내용은 서버 시작 옵션 구성(SQL Server 구성 관리자)을 참조하세요.For information, see Configure Server Startup Options (SQL Server Configuration Manager).

시작 옵션 목록List of Startup Options

기본 시작 옵션Default startup options 설명Description
-d master_file_path-d master_file_path master 데이터베이스 파일의 정규화된 경로입니다. 일반적으로 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf입니다.Is the fully qualified path for the master database file (typically, C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf). 이 옵션이 제공되지 않으면 기존의 레지스트리 매개 변수를 사용합니다.If you do not provide this option, the existing registry parameters are used.
-e error_log_path-e error_log_path 오류 로그 파일의 정규화된 경로입니다. 일반적으로 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG입니다.Is the fully qualified path for the error log file (typically, C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG). 이 옵션이 제공되지 않으면 기존의 레지스트리 매개 변수를 사용합니다.If you do not provide this option, the existing registry parameters are used.
-l master_log_path-l master_log_path master 데이터베이스 로그 파일의 정규화된 경로입니다. 일반적으로 C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf입니다.Is the fully qualified path for the master database log file (typically C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf). 이 옵션을 지정하지 않으면 기존의 레지스트리 매개 변수가 사용됩니다.If you do not specify this option, the existing registry parameters are used.
다른 시작 옵션Other startup options 설명Description
-c-c 명령 프롬프트에서 SQL ServerSQL Server 를 시작할 때 시작 시간을 단축시킵니다.Shortens startup time when starting SQL ServerSQL Server from the command prompt. 일반적으로 SQL Server 데이터베이스 엔진SQL Server Database Engine 은 서비스 제어 관리자를 호출하여 서비스로 시작됩니다.Typically, the SQL Server 데이터베이스 엔진SQL Server Database Engine starts as a service by calling the Service Control Manager. SQL Server 데이터베이스 엔진SQL Server Database Engine 은 명령 프롬프트에서 시작하는 경우 서비스로 시작되지 않으므로 -c 를 사용하여 이 단계를 건너뛸 수 있습니다.Because the SQL Server 데이터베이스 엔진SQL Server Database Engine does not start as a service when starting from the command prompt, use -c to skip this step.
-f-f SQL ServerSQL Server 인스턴스를 최소 구성으로 시작합니다.Starts an instance of SQL ServerSQL Server with minimal configuration. 예를 들어 오버 커밋 메모리 같은 구성 값의 설정 때문에 서버를 시작할 수 없을 경우에 유용합니다.This is useful if the setting of a configuration value (for example, over-committing memory) has prevented the server from starting. SQL ServerSQL Server 를 최소 구성 모드로 시작하면 SQL ServerSQL Server 가 단일 사용자 모드로 실행됩니다.Starting SQL ServerSQL Server in minimal configuration mode places SQL ServerSQL Server in single-user mode. 자세한 내용은 뒷부분에 나오는 -m 에 대한 설명을 참조하세요.For more information, see the description for -m that follows.
-g memory_to_reserve-g memory_to_reserve SQL ServerSQL Server 에서 SQL ServerSQL Server 프로세스 내(단, SQL ServerSQL Server 메모리 풀 외부)의 메모리 할당에 사용 가능하도록 할 메모리를 MB 단위의 정수로 지정합니다.Specifies an integer number of megabytes (MB) of memory that SQL ServerSQL Server will leave available for memory allocations within the SQL ServerSQL Server process, but outside the SQL ServerSQL Server memory pool. 메모리 풀 외부의 메모리는 SQL ServerSQL Server 에서 확장 프로시저 .dll 파일, 분산 쿼리에서 참조하는 OLE DB Provider 및 Transact-SQLTransact-SQL 문에서 참조되는 자동화 개체 같은 항목을 로드하는 데 사용하는 영역입니다.The memory outside of the memory pool is the area used by SQL ServerSQL Server for loading items, such as extended procedure .dll files, the OLE DB providers referenced by distributed queries, and automation objects referenced in Transact-SQLTransact-SQL statements. 기본값은 256MB입니다.The default is 256 MB.

이 옵션을 사용하면 메모리 할당을 튜닝하는 데 도움이 될 수 있으나 실제 메모리가 운영 체제에서 응용 프로그램에 사용할 수 있도록 구성된 가상 메모리 한계보다 큰 경우에만 사용할 수 있습니다.Use of this option might help tune memory allocation, but only when physical memory exceeds the configured limit set by the operating system on virtual memory available to applications. 이 옵션은 SQL ServerSQL Server 의 메모리 사용 요청이 불규칙하고 SQL ServerSQL Server 프로세스의 가상 주소 공간이 전부 사용되는 대량 메모리 구성에서 사용하는 것이 적합합니다.Use of this option might be appropriate in large memory configurations in which the memory usage requirements of SQL ServerSQL Server are atypical and the virtual address space of the SQL ServerSQL Server process is totally in use. 이 옵션을 제대로 사용하지 않으면 SQL ServerSQL Server 인스턴스를 시작할 수 없거나 런타임 오류가 발생할 수도 있습니다.Incorrect use of this option can lead to conditions under which an instance of SQL ServerSQL Server may not start or may encounter run-time errors.

오류 로그에서 다음 경고가 표시되지 않으면 -g SQL ServerSQL Server 매개 변수의 기본값을 사용해야 합니다.Use the default for the -g parameter unless you see any of the following warnings in the SQL ServerSQL Server error log:

"실패한 가상 메모리 할당 바이트: FAIL_VIRTUAL_RESERVE <크기>""Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>"

"실패한 가상 메모리 할당 바이트: FAIL_VIRTUAL_COMMIT <크기>""Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <size>"



이 메시지에 따르면 SQL ServerSQL Server 는 확장 저장 프로시저 .dll 파일이나 자동화 개체 등의 항목에 필요한 공간을 찾기 위해 SQL ServerSQL Server 메모리 풀의 일부를 없애려고 합니다.These messages might indicate that SQL ServerSQL Server is trying to free parts of the SQL ServerSQL Server memory pool in order to find space for items, such as extended stored procedure .dll files or automation objects. 이 경우 -g 스위치로 예약되는 메모리 양을 늘려 보세요.In this case, consider increasing the amount of memory reserved by the -g switch.

기본값보다 낮은 값을 사용하면 SQL Server Memory Manager 및 스레드 스택에서 관리하는 메모리 풀의 사용 가능한 메모리 양을 증가시켜 확장 저장 프로시저, 분산 쿼리, 자동화 개체 등을 사용하지 않는 시스템에서 메모리 집중형 작업에 대한 성능상의 이점을 제공할 수 있습니다.Using a value lower than the default will increase the amount of memory available to the memory pool managed by the SQL Server Memory Manager and thread stacks; this may, in turn, provide some performance benefit to memory-intensive workloads in systems that do not use many extended stored procedures, distributed queries, or automation objects.
-m-m SQL ServerSQL Server 인스턴스를 단일 사용자 모드로 시작합니다.Starts an instance of SQL ServerSQL Server in single-user mode. SQL ServerSQL Server 인스턴스를 단일 사용자 모드로 시작하면 한 사용자만 연결할 수 있으며 CHECKPOINT 프로세스가 시작되지 않습니다.When you start an instance of SQL ServerSQL Server in single-user mode, only a single user can connect, and the CHECKPOINT process is not started. CHECKPOINT는 디스크 캐시에 있는 완료된 트랜잭션이 정기적으로 데이터베이스 장치에 기록되도록 합니다.CHECKPOINT guarantees that completed transactions are regularly written from the disk cache to the database device. 일반적으로 이 옵션은 복구해야 할 시스템 데이터베이스에 문제가 발생했을 때 사용합니다. sp_configure allow updates 옵션을 설정합니다.(Typically, this option is used if you experience problems with system databases that should be repaired.) Enables the sp_configure allow updates option. 기본적으로 allow updates는 사용할 수 없습니다.By default, allow updates is disabled. 단일 사용자 모드로 SQL ServerSQL Server 를 시작하면 컴퓨터에서 로컬 Administrators 그룹의 모든 멤버가 sysadmin 고정 서버 역할의 멤버로 SQL ServerSQL Server 인스턴스에 연결할 수 있습니다.Starting SQL ServerSQL Server in single-user mode enables any member of the computer's local Administrators group to connect to the instance of SQL ServerSQL Server as a member of the sysadmin fixed server role. 자세한 내용은 시스템 관리자가 잠겨 있는 경우 SQL Server에 연결을 참조하세요.For more information, see Connect to SQL Server When System Administrators Are Locked Out. 단일 사용자 모드에 대한 자세한 내용은 단일 사용자 모드로 SQL Server 시작을 참조하세요.For more information about single-user mode, see Start SQL Server in Single-User Mode.
-mClient Application Name-mClient Application Name 지정된 클라이언트 응용 프로그램에 대한 연결 수를 제한합니다.Limits the connections to a specified client application. 예를 들어 -mSQLCMD 는 연결 수를 단일 연결로 제한하며 이 경우 연결은 스스로 SQLCMD 클라이언트 프로그램으로 인식해야 합니다.For example, -mSQLCMD limits connections to a single connection and that connection must identify itself as the SQLCMD client program. 단일 사용자 모드에서 SQL ServerSQL Server 를 시작하며 알 수 없는 클라이언트 응용 프로그램에서 사용 가능한 유일한 연결을 사용할 경우 이 옵션을 사용합니다.Use this option when you are starting SQL ServerSQL Server in single-user mode and an unknown client application is taking the only available connection. SSMS 쿼리 편집기와 연결하려면 "Microsoft SQL Server Management Studio - Query" 를 사용합니다.Use "Microsoft SQL Server Management Studio - Query" to connect with the SSMS Query Editor. SSMS 쿼리 편집기 옵션은 SQL ServerSQL Server 구성 관리자 도구를 사용하여 구성할 수 없습니다. 도구에서 거부된 대시 문자가 포함되어 있기 때문입니다.The SSMS Query Editor option cannot be configured by using SQL ServerSQL Server Configuration Manager because it includes the dash character which is rejected by the tool.

클라이언트 응용 프로그램 이름은 대/소문자를 구분합니다.Client Application Name is case sensitive. 큰따옴표는 응용 프로그램 이름에 공백이나 특수 문자가 포함되어 있는 경우 필요합니다.Double quotes are required if the application name contains spaces or special characters.

명령줄에서 시작하는 예제:Examples when starting from the command line:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlserver -s MSSQLSERVER -m"Microsoft SQL Server Management Studio - Query"

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlserver -s MSSQLSERVER -mSQLCMD

** 보안 정보 *\* 이 옵션을 보안 기능으로는 사용하지 마세요.** Security Note *\* Do not use this option as a security feature. 클라이언트 응용 프로그램에서 클라이언트 응용 프로그램 이름을 제공하므로 연결 문자열의 일부로 잘못된 이름을 제공할 수 있습니다.The client application provides the client application name, and can provide a false name as part of the connection string.
-n SQL ServerSQL Server 이벤트를 기록하는 데 Windows 응용 프로그램 로그를 사용하지 않습니다.Does not use the Windows application log to record SQL ServerSQL Server events. -n으로 SQL ServerSQL Server 인스턴스를 시작하는 경우 -e 시작 옵션도 사용하는 것이 좋습니다.If you start an instance of SQL ServerSQL Server with -n, we recommend that you also use the -e startup option. 그렇지 않으면 SQL ServerSQL Server 이벤트가 로깅되지 않습니다.Otherwise, SQL ServerSQL Server events are not logged.
-s-s 명명된 SQL ServerSQL Server인스턴스를 시작할 수 있습니다.Allows you to start a named instance of SQL ServerSQL Server. -s 매개 변수를 설정하지 않으면 기본 인스턴스가 시작을 시도합니다.Without the -s parameter set, the default instance will try to start. sqlservr.exe를 시작하기 전에 명령 프롬프트에서 해당 인스턴스에 적합한 BINN 디렉터리로 전환해야 합니다.You must switch to the appropriate BINN directory for the instance at a command prompt before starting sqlservr.exe. 예를 들어 Instance1이 이진 파일에 대해 \mssql$Instance1을 사용할 경우, 사용자는 \mssql$Instance1\binn 디렉터리에서 sqlservr.exe -s instance1을 시작해야 합니다.For example, if Instance1 were to use \mssql$Instance1 for its binaries, the user must be in the \mssql$Instance1\binn directory to start sqlservr.exe -s instance1.
-T trace#-T trace# 지정된 추적 플래그( SQL ServerSQL Server trace#) 적용 시인스턴스를 시작해야 함을 나타냅니다.Indicates that an instance of SQL ServerSQL Server should be started with a specified trace flag (trace#) in effect. 추적 플래그는 비표준 동작으로 서버를 시작하는 데 사용합니다.Trace flags are used to start the server with nonstandard behavior. 자세한 내용은 추적 플래그(Transact-SQL)를 참조하세요.For more information, see Trace Flags (Transact-SQL).

** 중요 *\* -T 옵션으로 추적 플래그를 지정할 때 추적 플래그 번호를 전달하려면 대문자 "T"를 입력합니다.** Important *\* When specifying a trace flag with the -T option, use an uppercase "T" to pass the trace flag number. SQL ServerSQL Server에서는 소문자 "t"도 사용할 수 있지만 그럴 경우 SQL ServerSQL Server 지원 엔지니어에게만 필요한 다른 내부 추적 플래그가 설정됩니다.A lowercase "t" is accepted by SQL ServerSQL Server, but this sets other internal trace flags that are required only by SQL ServerSQL Server support engineers. 제어판 시작 창에서 지정한 매개 변수를 읽을 수 없습니다.(Parameters specified in the Control Panel startup window are not read.)
-x-x 다음 모니터링 기능을 해제합니다.Disables the following monitoring features:

SQL ServerSQL Server 성능 모니터 카운터 performance monitor counters

CPU 시간과 캐시 적중률 통계 유지Keeping CPU time and cache-hit ratio statistics

DBCC SQLPERF 명령에 대한 정보 수집Collecting information for the DBCC SQLPERF command

일부 동적 관리 뷰에 대한 정보 수집Collecting information for some dynamic management views

여러 확장 이벤트 이벤트 지점Many extended-events event points



** 경고 *\* –x 시작 옵션을 사용할 경우 SQL ServerSQL Server 의 성능 및 기능 문제를 진단하는 데 사용할 수 있는 정보가 크게 줄어듭니다.** Warning *\* When you use the –x startup option, the information that is available for you to diagnose performance and functional problems with SQL ServerSQL Server is greatly reduced.
-E-E 파일 그룹의 각 파일에 할당되는 익스텐트의 수를 늘립니다.Increases the number of extents that are allocated for each file in a filegroup. 이 옵션은 인덱스 또는 데이터 검색을 실행하는 사용자 수가 제한되는 데이터 웨어하우스 응용 프로그램에 유용합니다.This option may be helpful for data warehouse applications that have a limited number of users running index or data scans. 성능에 부정적인 영향을 줄 수 있으므로 다른 응용 프로그램에서는 이 옵션을 사용하면 안 됩니다.It should not be used in other applications because it might adversely affect performance. 이 옵션은 SQL ServerSQL Server32비트 릴리스에서는 지원되지 않습니다.This option is not supported in 32-bit releases of SQL ServerSQL Server.

문제 해결을 위한 시작 옵션 사용Using Startup Options for Troubleshooting

단일 사용자 모드 및 최소 구성 모드와 같은 일부 시작 옵션은 주로 문제 해결에서 사용됩니다.Some startup options, such as single-user mode and minimal configuration mode, are principally used during troubleshooting. sqlservr.exe는 수동으로 시작하고 명령줄에서 –m 또는 –f 옵션을 사용하여 문제 해결을 위해 서버를 시작하는 방법이 가장 간편합니다.Starting the server for troubleshooting with the –m or –f options is easiest at the command line, while manually starting sqlservr.exe.

참고

SQL ServerSQL Server net start 를 사용하여를 시작하는 경우에는 시작 옵션에 하이픈(-) 대신 슬래시(/)를 사용합니다.When SQL ServerSQL Server is started by using net start, startup options use a slash (/) instead of a hyphen (-).

정상적인 작업 중 시작 옵션 사용Using Startup Options During Normal Operations

SQL ServerSQL Server를 시작할 때마다 사용하는 시작 옵션이 있을 수 있습니다.You may want to use some startup options every time you start SQL ServerSQL Server. 이러한 옵션(예: –g 또는 추적 플래그로 시작)은 SQL ServerSQL Server 구성 관리자로 시작 매개 변수를 구성하면 가장 쉽게 설정할 수 있습니다.These options, such as –g or starting with a trace flag, are most easily done by configuring the startup parameters by using SQL ServerSQL Server Configuration Manager. 이러한 도구는 시작 옵션을 레지스트리 키로 저장하여 SQL ServerSQL Server 가 항상 이 시작 옵션으로 시작할 수 있게 됩니다.These tool saves the startup options as registry keys, enabling SQL ServerSQL Server to always start with the startup options.

호환성 지원Compatibility Support

-h 매개 변수는 SQL Server 2017SQL Server 2017에서 지원되지 않습니다.The -h parameter is not supported in SQL Server 2017SQL Server 2017. 이 매개 변수는 이전 버전 32비트 SQL ServerSQL Server 인스턴스에서 AWE가 설정된 경우 Hot Add 메모리 메타데이터에 대해 가상 주소 공간을 예약하는 데 사용되었습니다.This parameter was used in earlier versions of 32-bit instances of SQL ServerSQL Server to reserve virtual memory address space for Hot Add memory metadata when AWE is enabled. 자세한 내용은 SQL Server 2016에서 지원되지 않는 SQL Server 기능을 참조하세요.For more information, see Discontinued SQL Server Features in SQL Server 2016.

scan for startup procs 서버 구성 옵션 구성Configure the scan for startup procs Server Configuration Option

데이터베이스 엔진, SQL Server 에이전트 또는 SQL Server Browser 서비스 시작, 중지, 일시 중지, 재개 및 다시 시작Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent, or SQL Server Browser Service

참고 항목See Also

CHECKPOINT(Transact-SQL) CHECKPOINT (Transact-SQL)
sqlservr 응용 프로그램sqlservr Application