단일 사용자 모드로 SQL Server 시작Start SQL Server in Single-User Mode

특정 상황에서는 SQL ServerSQL Server 시작 옵션 -m 을 사용하여의 인스턴스를 단일 사용자 모드로 시작해야 합니다.Under certain circumstances, you may have to start an instance of SQL ServerSQL Server in single-user mode by using the startup option -m. 예를 들어 서버 구성 옵션을 변경하거나 손상된 master 데이터베이스 또는 다른 시스템 데이터베이스를 복구하려고 할 수도 있습니다.For example, you may want to change server configuration options or recover a damaged master database or other system database. 두 가지 동작 모두 SQL ServerSQL Server 인스턴스를 단일 사용자 모드로 시작해야 합니다.Both actions require starting an instance of SQL ServerSQL Server in single-user mode.

단일 사용자 모드로 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 ServerSQL Server 인스턴스를 단일 사용자 모드로 시작할 경우 다음에 유의하십시오.When you start an instance of SQL ServerSQL Server in single-user mode, note the following:

  • 사용자 한 명만 서버에 연결할 수 있습니다.Only one user can connect to the server.

  • CHECKPOINT 프로세스는 실행되지 않습니다.The CHECKPOINT process is not executed. 기본적으로 서버 시작 시 자동 실행됩니다.By default, it is executed automatically at startup.

참고

단일 사용자 모드로 SQL ServerSQL Server 인스턴스에 연결하기 전에 SQL ServerSQL Server 에이전트 서비스를 중단하십시오. 그렇지 않으면 SQL ServerSQL Server 에이전트 서비스에서 해당 연결을 사용하므로 연결이 차단됩니다.Stop the SQL ServerSQL Server Agent service before connecting to an instance of SQL ServerSQL Server in single-user mode; otherwise, the SQL ServerSQL Server Agent service uses the connection, thereby blocking it.

SQL ServerSQL Server 인스턴스를 단일 사용자 모드로 시작할 경우 SQL Server Management StudioSQL Server Management Studio 에서 SQL ServerSQL Server에 연결할 수 있습니다.When you start an instance of SQL ServerSQL Server in single-user mode, SQL Server Management StudioSQL Server Management Studio can connect to SQL ServerSQL Server. 개체 탐색기의 일부 작업에는 둘 이상의 연결이 필요하므로 Management StudioManagement Studio 에서 개체 탐색기가 실패할 수도 있습니다.Object Explorer in Management StudioManagement Studio might fail because it requires more than one connection for some operations. SQL ServerSQL Server 를 단일 사용자 모드로 관리하려면 Transact-SQLTransact-SQL 의 쿼리 편집기를 통해서만 연결하여 Management StudioManagement Studio문을 실행하거나 sqlcmd 유틸리티를 사용하세요.To manage SQL ServerSQL Server in single-user mode, execute Transact-SQLTransact-SQL statements by connecting only through the Query Editor in Management StudioManagement Studio, or use the sqlcmd utility.

SQLCMD와 함께-m 옵션을 사용하거나 Management StudioManagement Studio를 사용하는 경우 지정한 클라이언트 응용 프로그램에 대한 연결 수를 제한할 수 있습니다.When you use the -m option with SQLCMD or Management StudioManagement Studio, you can limit the connections to a specified client application.

참고

Linux에서 SQLCMD는 표시된 대로 대문자로 표시되어야 합니다.On Linux, SQLCMD must be capitalized as shown.

예를 들어 -m"SQLCMD"는 연결 수를 단일 연결로 제한하며 해당 연결은 자신을 SQLCMD 클라이언트 프로그램으로 식별해야 합니다.For example, -m"SQLCMD" 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. Management StudioManagement Studio에서 쿼리 편집기를 통해 연결하려면 -m"Microsoft SQL Server Management Studio - 쿼리"를 사용합니다.To connect through the Query Editor in Management StudioManagement Studio, use -m"Microsoft SQL Server Management Studio - Query".

중요

이 옵션을 보안 용도로는 사용하지 마십시오.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.

클러스터형 설치에 대한 참고 사항Note for Clustered installations

클러스터 환경에 설치된 SQL ServerSQL Server 의 경우 SQL ServerSQL Server 가 단일 사용자 모드로 시작되면 클러스터 리소스 dll이 사용 가능한 모든 연결을 사용하므로 서버에 대한 다른 연결은 차단됩니다.For SQL ServerSQL Server installation in a clustered environment, when SQL ServerSQL Server is started in single user mode, the cluster resource dll uses up the available connection thereby blocking any other connections to the server. SQL ServerSQL Server 가 이 상태이고 SQL ServerSQL Server 에이전트 리소스가 그룹에 영향을 주도록 구성되어 있는 경우 온라인으로 이 리소스를 가져오려고 하면 SQL 리소스가 다른 노드로 장애 조치(failover)될 수 있습니다.When SQL ServerSQL Server is in this state, if you try to bring SQL ServerSQL Server Agent resource online, it may fail over the SQL resource to a different node if the resource is configured to affect the group.

이 문제를 해결하려면 다음 절차를 따릅니다.To get around the problem use the following procedure:

  1. SQL ServerSQL Server 고급 속성에서 –m 시작 매개 변수를 제거합니다.Remove the –m startup parameter from the SQL ServerSQL Server advanced Properties.

  2. SQL ServerSQL Server 리소스를 오프라인 상태로 만듭니다.Take the SQL ServerSQL Server resource offline.

  3. 이 그룹의 현재 소유자 노드에서 명령 프롬프트를 열고From the current owner node of this group, issue the following command from the command prompt:
    net start MSSQLSERVER /m 명령을 실행합니다.net start MSSQLSERVER /m.

  4. 클러스터 관리자 또는 장애 조치(failover) 클러스터 관리 콘솔에서 SQL ServerSQL Server 리소스가 여전히 오프라인 상태인지 확인합니다.Verify from the cluster administrator or failover cluster management console that the SQL ServerSQL Server resource is still offline.

  5. 이제 SQLCMD -E -S<servername> 명령을 사용하여 SQL ServerSQL Server에 연결하고 필요한 작업을 수행합니다.Connect to the SQL ServerSQL Server now using the following command and do the necessary operation: SQLCMD -E -S<servername>.

  6. 작업이 완료되면 명령 프롬프트를 닫고 클러스터 관리자를 통해 SQL 및 기타 리소스를 다시 온라인 상태로 만듭니다.Once the operation is complete, close the command prompt and bring back the SQL and other resources online through cluster administrator.

참고 항목See Also

SQL Server 에이전트 서비스 시작, 중지 또는 일시 중지 Start, Stop, or Pause the SQL Server Agent Service
데이터베이스 관리자를 위한 진단 연결 Diagnostic Connection for Database Administrators
sqlcmd 유틸리티 sqlcmd Utility
CHECKPOINT(Transact-SQL) CHECKPOINT (Transact-SQL)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
데이터베이스 엔진 서비스 시작 옵션Database Engine Service Startup Options