시스템 데이터베이스 백업 및 복원(SQL Server)

SQL Server는 서버 인스턴스의 작업에 필수적인 시스템 데이터베이스라는 시스템 수준 데이터베이스의 집합을 유지 관리합니다. 모든 중요한 업데이트 후에는 여러 시스템 데이터베이스를 백업해야 합니다. 항상 백업해야 하는 시스템 데이터베이스에는 msdb, mastermodel이 있습니다. 데이터베이스가 서버 인스턴스에서 복제를 사용할 경우 배포 시스템 데이터베이스도 백업해야 하며 이러한 시스템 데이터베이스를 백업하면 하드 디스크 손실과 같은 시스템 오류 이벤트에서 SQL Server 시스템을 복원 및 복구할 수 있습니다.

다음 표에서는 모든 시스템 데이터베이스를 요약합니다.

시스템 데이터베이스

설명

백업 필요 여부

복구 모델

설명

master

SQL Server 시스템의 모든 시스템 수준 정보를 기록하는 데이터베이스입니다.

단순

업무상 데이터 보호가 특별히 요구되는 경우 master를 필요한 만큼 자주 백업하십시오. 정기 백업 일정을 사용하고 중요한 업데이트 후에는 추가 백업으로 보완하는 것이 좋습니다.

모델

SQL Server 인스턴스에서 생성되는 모든 데이터베이스용 템플릿입니다.

사용자 구성 가능1

해당 데이터베이스 옵션을 사용자 지정한 후 즉시 백업하는 경우와 같이 업무상 필요한 경우에만 model을 백업합니다.

최선의 방법:  필요에 따라 model의 전체 데이터베이스 백업만 만드는 것이 좋습니다. model은 작고 거의 변경되지 않으므로 로그를 백업할 필요가 없습니다.

msdb

경고 및 작업을 예약하고 운영자를 기록하기 위해 SQL Server 에이전트가 사용하는 데이터베이스입니다. msdb는 백업 및 복원 기록 테이블과 같은 기록 테이블도 포함합니다.

단순(기본값)

msdb가 업데이트될 때마다 백업하십시오.

리소스(RDB)

SQL Server 2005 이상 버전과 함께 제공되는 모든 시스템 개체의 복사본이 포함된 읽기 전용 데이터베이스입니다.

아니요

리소스 데이터베이스는 코드만 포함하는 mssqlsystemresource.mdf 파일에 있습니다. 따라서 SQL Server에서는 리소스 데이터베이스를 백업할 수 없습니다.

[!참고]

mssqlsystemresource.mdf 파일을 데이터베이스 파일이 아니라 이진 파일(.exe)로 취급하는 방법으로 파일 기반 백업 또는 디스크 기반 백업을 수행할 수 있습니다. 그러나 이러한 백업에 대해 SQL Server 복원은 사용할 수 없습니다. 수동으로만 mssqlsystemresource.mdf 백업 복사본을 복원할 수 있으며 현재 Resource 데이터베이스를 오래된 버전이나 안전하지 않은 버전으로 덮어쓰지 않도록 주의해야 합니다.

tempdb

임시 또는 중간 결과 집합을 유지하기 위한 작업 영역입니다. 이 데이터베이스는 SQL Server 인스턴스가 시작될 때마다 다시 생성됩니다. 서버 인스턴스가 종료될 때 tempdb에 있는 모든 데이터는 영구적으로 삭제됩니다.

아니요

단순

tempdb 시스템 데이터베이스는 백업할 수 없습니다.

배포 구성

서버가 복제 배포자로 구성된 경우에만 존재하는 데이터베이스입니다. 이 데이터베이스는 모든 유형의 복제 및 트랜잭션(트랜잭션 복제의 경우)에 대한 메타데이터 및 기록 데이터를 저장합니다.

단순

distribution 데이터베이스의 백업 시기는 복제된 데이터베이스 백업 및 복원을 참조하십시오.

1 model의 현재 복구 모델을 확인하는 방법은 데이터베이스 복구 모델 보기 또는 변경 또는 sys.databases(Transact-SQL)를 참조하십시오.

시스템 데이터베이스 복원의 제한 사항

  • 시스템 데이터베이스는 서버 인스턴스가 현재 실행 중인 SQL Server 버전에서 생성된 백업에서만 복원될 수 있습니다. 예를 들어 SQL Server 2005 SP1에서 실행 중인 서버 인스턴스에서 시스템 데이터베이스를 복원하려면 서버 인스턴스가 SQL Server 2005 SP1로 업그레이드된 후 생성된 데이터베이스 백업을 사용해야 합니다.

  • 데이터베이스를 복원하려면 SQL Server 인스턴스가 실행 중이어야 합니다. SQL Server 인스턴스를 시작하려면 master 데이터베이스에 액세스할 수 있고 최소한 부분적으로 사용할 수 있어야 합니다. master를 사용할 수 없게 된 경우 다음 방법 중 하나로 데이터베이스를 사용 가능한 상태로 되돌릴 수 있습니다.

    • 현재 데이터베이스 백업에서 master를 복원합니다.

      서버 인스턴스를 시작할 수 있으면 전체 데이터베이스 백업에서 master를 복원할 수 있습니다.

    • master를 완전히 다시 작성합니다.

      master에 발생한 심각한 손상으로 인해 SQL Server를 시작할 수 없는 경우에는 master를 다시 작성해야 합니다. 자세한 내용은 시스템 데이터베이스 다시 작성을 참조하십시오.

      중요 정보중요

      master를 다시 작성하면 모든 시스템 데이터베이스가 다시 작성됩니다.

  • model 데이터베이스 복구를 위해 시스템 데이터베이스를 다시 작성하거나 model 데이터베이스에 대한 mdf 및 ldf 파일을 바꿔야 하는 경우도 있습니다. 자세한 내용은 시스템 데이터베이스 다시 작성을 참조하십시오.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위]

관련 태스크

참고 항목

참조

배포 데이터베이스

개념

master 데이터베이스

msdb 데이터베이스

model 데이터베이스

Resource 데이터베이스

tempdb 데이터베이스