문제 해결: 시스템 관리자가 잠겨 있는 경우 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 옵션을 사용하여 클라이언트 응용 프로그램에 대한 연결 수를 제한하는 방법에 대한 설명을 추가했습니다. |