문제 해결: 시스템 관리자가 잠겨 있는 경우 SQL Server에 연결하는 문제

이 항목에서는 시스템 관리자로서 SQL Server 데이터베이스 엔진에 대한 액세스 권한을 다시 얻을 수 있는 방법에 대해 설명합니다. 시스템 관리자는 다음 중 한 가지 이유로 인해 SQL Server 인스턴스에 대한 액세스 권한을 상실할 수 있습니다.

  • sysadmin 고정 서버 역할의 멤버인 모든 로그인이 실수로 제거되었습니다.

  • sysadmin 고정 서버 역할의 멤버인 모든 Windows 그룹이 실수로 제거되었습니다.

  • sysadmin 고정 서버 역할의 멤버인 로그인이 회사를 그만두었거나 소재가 불명확한 개인에게 할당되어 있습니다.

  • sa 계정이 비활성화되어 있거나 이 계정의 암호를 아는 사람이 없습니다.

액세스 권한을 다시 얻을 수 있는 한 가지 방법은 SQL Server을 다시 설치하고 모든 데이터베이스를 새 인스턴스에 연결하는 것입니다. 이 방법에 따라 문제를 해결하는 데는 많은 시간이 소요됩니다. 또한 로그인을 복구하려면 백업에서 master 데이터베이스를 복원해야 할 수도 있습니다. master 데이터베이스의 백업이 최신 백업이 아닌 경우 이 백업에 모든 정보가 포함되지 않을 수도 있습니다. master 데이터베이스의 백업이 최신 백업인 경우에는 이 백업에 이전 인스턴스와 동일한 로그인이 포함되어 있으므로 관리자는 여전히 잠겨 있게 됩니다.

해결 방법

-m 또는 -f 옵션을 사용하여 SQL Server 인스턴스를 단일 사용자 모드로 시작합니다. 그러면 컴퓨터에서 로컬 Administrators 그룹의 모든 멤버가 sysadmin 고정 서버 역할의 멤버로 SQL Server 인스턴스에 연결할 수 있습니다.

[!참고]

SQL Server 인스턴스를 단일 사용자 모드로 시작할 경우 SQL Server 에이전트 서비스를 먼저 중지하십시오. 그렇지 않으면 SQL Server 에이전트가 먼저 연결되므로 두 번째 사용자로 연결하지 못합니다.

sqlcmd와 함께 -m 옵션을 사용하거나 SQL Server Management Studio를 사용할 경우 지정한 클라이언트 응용 프로그램에 대한 연결 수를 제한할 수 있습니다. 예를 들어 **-m"sqlcmd"**는 연결 수를 단일 연결로 제한하며 이 경우 연결은 자신을 sqlcmd 클라이언트 프로그램으로 인식해야 합니다. 단일 사용자 모드에서 SQL Server를 시작하며 알 수 없는 클라이언트 응용 프로그램에서 사용 가능한 유일한 연결을 사용할 경우 이 옵션을 사용합니다. Management Studio의 쿼리 편집기를 통해 연결하려면 **-m"Microsoft SQL Server Management Studio - Query"**를 사용합니다.

중요 정보중요

이 옵션을 보안 용도로는 사용하지 마십시오. 클라이언트 응용 프로그램에서 클라이언트 응용 프로그램 이름을 제공하므로 연결 문자열의 일부로 잘못된 이름을 제공할 수 있습니다.

SQL Server을 단일 사용자 모드로 시작하는 방법에 대한 단계별 지침은 방법: 서버 시작 옵션 구성(SQL Server 구성 관리자)을 참조하십시오.

변경 내역

업데이트된 내용

-m 옵션을 사용하여 클라이언트 응용 프로그램에 대한 연결 수를 제한하는 방법에 대한 설명을 추가했습니다.