다음을 통해 공유


master 데이터베이스 복원(Transact-SQL)

적용 대상: SQL Server

이 문서에서는 전체 데이터베이스 백업에서 master 데이터베이스를 복원하는 방법을 설명합니다.

Warning

재해 복구 시 master 데이터베이스가 복원되는 인스턴스는 가능한 한 원래 인스턴스와 정확히 일치해야 합니다. 최소한 이 복구 인스턴스는 버전, 에디션 및 패치 수준이 동일해야 하며, 원래 인스턴스와 동일한 외부 구성(호스트 이름, 클러스터 멤버 자격 등)과 동일한 선택 기능이 있어야 합니다. 그렇지 않으면 일관되지 않은 기능 지원을 통해 정의되지 않은 SQL Server 인스턴스 동작이 발생할 수 있으며 실행 가능하지는 않습니다.

master 데이터베이스를 복원하려면

  1. 단일 사용자 모드에서 서버 인스턴스를 시작합니다.

    -m 또는 -f 시작 매개 변수를 사용하여 SQL Server를 시작할 수 있습니다. 시작 매개 변수에 대한 자세한 내용은 데이터베이스 엔진 서비스 시작 옵션을 참조하세요.

    명령 프롬프트에서 다음 명령을 실행하고 MSSQLXX.instance을 적절한 폴더 이름으로 바꿔야 합니다.

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
    • -mSQLCMD 매개 변수는 sqlcmd만 SQL Server에 연결할 수 있도록 합니다.
    • 기본 인스턴스 이름의 경우 -s MSSQLSERVER을 사용합니다
    • -c은 시작 시간을 단축하기 위해 서비스 제어 관리자를 우회하는 애플리케이션으로 SQL Server를 시작합니다.

    손상된 master 데이터베이스로 인해 SQL Server 인스턴스를 시작할 수 없는 경우 먼저 시스템 데이터베이스를 다시 빌드해야 합니다. 자세한 내용은 시스템 데이터베이스 다시 작성을 참조하세요.

  2. 다른 명령 프롬프트 창에서 SQLCMD를 사용하여 SQL Server에 연결

    SQLCMD -S <instance> -E -d master
    
  3. master의 전체 데이터베이스 백업을 복원하려면 다음 RESTORE DATABASE Transact-SQL 문을 사용합니다.

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    REPLACE 옵션은 동일한 이름의 데이터베이스가 이미 있는 경우에도 SQL Server에 지정된 데이터베이스를 복원하도록 지시합니다. 이 경우 기존 데이터베이스는 삭제됩니다. 단일 사용자 모드에서는 sqlcmd 유틸리티에 RESTORE DATABASE 문을 입력하는 것이 좋습니다. 자세한 내용은 sqlcmd 유틸리티 사용을 참조하세요.

    Important

    마스터가 복원되면 SQL Server 인스턴스가 종료되고 sqlcmd 프로세스가 종료됩니다. 서버 인스턴스를 다시 시작하기 전에 단일 사용자 시작 매개 변수를 제거하십시오. 자세한 내용은 서버 시작 옵션 구성(SQL Server 구성 관리자)을 참조하세요.

  4. 시작 매개 변수를 사용하지 않고 서버 인스턴스를 서비스로 정상적으로 다시 시작합니다.

  5. 다른 데이터베이스 복원, 데이터베이스 연결 및 사용자 불일치 수정과 같은 다른 복구 단계를 계속합니다.

예시

다음 예제에서는 기본 서버 인스턴스에서 master 데이터베이스를 복원합니다. 이 예제에서는 서버 인스턴스가 이미 단일 사용자 모드로 실행되고 있다고 가정합니다. 다음 예에서는 sqlcmd 를 시작하고 디스크 디바이스에서 RESTORE DATABASE 의 전체 데이터베이스 백업을 복원하는 master 문을 실행합니다. Z:\SQLServerBackups\master.bak

참고 항목

명명된 인스턴스의 경우 sqlcmd 명령에 -S<ComputerName>\<InstanceName> 옵션을 지정해야 합니다.

C:\> sqlcmd  
1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;  
2> GO  

참고 항목

전체 데이터베이스 복원(단순 복구 모델)
전체 데이터베이스 복원(전체 복구 모델)
분리된 사용자 문제 해결(SQL Server)
데이터베이스 분리 및 연결(SQL Server)
시스템 데이터베이스 다시 작성
데이터베이스 엔진 서비스 시작 옵션
SQL Server 구성 관리자
시스템 데이터베이스 백업 및 복원(SQL Server)
RESTORE(Transact-SQL)