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

적용 대상:SQL Server

SQL Server는 기본 서버 인스턴스의 작업에 필수적인 시스템 데이터베이스라는 시스템 수준 데이터베이스 집합을 가져옵니다. 중요한 업데이트가 있을 때마다 여러 시스템 데이터베이스를 백업해야 합니다. 항상 백업해야 하는 시스템 데이터베이스에는 < a0/> 및 model.가 master포함됩니다msdb. 데이터베이스에서 서버 인스턴스에서 복제본(replica)tion을 사용하는 경우 시스템 데이터베이스도 백업 distribution 해야 합니다. 이러한 시스템 데이터베이스의 백업을 사용하면 스토리지 디바이스 손실과 같은 시스템 오류 후 SQL Server 시스템을 복원하고 복구할 수 있습니다.

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

시스템 데이터베이스 설명 백업이 필요합니까? 복구 모델 설명
master SQL Server 시스템에 대한 모든 시스템 수준 정보를 기록하는 데이터베이스입니다. 단순 비즈니스 요구 사항에 맞게 데이터를 충분히 보호하기 위해 필요한 만큼 자주 백업 master 합니다. 정기 백업 일정을 사용하고 중요한 업데이트 후에는 추가 백업으로 보완하는 것이 좋습니다. 트랜잭션 로그 백업은 master 지원되지 않습니다.
model SQL Server 인스턴스에서 만든 모든 데이터베이스에 대한 템플릿입니다. 사용자 구성 가능1 비즈니스 요구 사항에 필요한 경우에만 백업 model 합니다. 예를 들어 데이터베이스 옵션을 사용자 지정한 직후에 백업합니다.

모범 사례: 필요에 따라 전체 데이터베이스 백업 model만 만드는 것이 좋습니다. 작고 거의 변경되지 않으므로 model 로그를 백업할 필요가 없습니다.
Msdb 경고 및 작업 예약 및 기록 연산자를 위해 SQL Server 에이전트 사용하는 데이터베이스입니다. msdb 에는 백업 및 복원 기록 테이블과 같은 기록 테이블도 포함되어 있습니다. 단순(기본값) 업데이트할 때마다 백업 msdb 합니다.
리소스 데이터베이스 (RDB) SQL Server와 함께 제공되는 모든 시스템 개체의 복사본을 포함하는 읽기 전용 데이터베이스 아니요 없음 리소스 데이터베이스는 mssqlsystemresource.mdf 코드만 포함하는 파일에 상주합니다. 따라서 SQL Server는 리소스 데이터베이스를 백업할 수 없습니다.

참고: 파일을 데이터베이스 파일 대신 이진.exe 파일인 것처럼 처리하여 파일 기반 또는 디스크 기반 백업 mssqlsystemresource.mdf 을 수행할 수 있습니다. 하지만 백업에서는 SQL Server 복원을 사용할 수 없습니다. 백업 복사본 복원 mssqlsystemresource.mdf 은 수동으로만 수행할 수 있으며, 현재 리소스 데이터베이스를 오래된 버전이나 잠재적으로 안전하지 않은 버전으로 덮어쓰지 않도록 주의해야 합니다.
tempdb 임시 또는 중간 결과 집합을 보유하기 위한 작업 영역입니다. 이 데이터베이스는 SQL Server 인스턴스가 시작될 때마다 다시 만들어집니다. 서버 인스턴스가 종료되면 모든 데이터가 tempdb 영구적으로 삭제됩니다. 아니요 단순 시스템 데이터베이스를 백업할 tempdb 수 없습니다.
배포 구성 서버가 복제본(replica)tion 배포자로 구성된 경우에만 존재하는 데이터베이스입니다. 이 데이터베이스는 모든 유형의 복제 및 트랜잭션(트랜잭션 복제의 경우)에 대한 메타데이터 및 기록 데이터를 저장합니다. 단순 데이터베이스를 백업 distribution 하는 시기에 대한 자세한 내용은 복제된 데이터베이스 백업 및 복원을 참조 하세요.

1 모델의 현재 복구 모델을 알아보려면 데이터베이스의 복구 모델 보기 또는 변경(SQL Server) 또는 sys.databases(Transact-SQL)를 참조하세요.

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

시스템 데이터베이스는 서버 인스턴스가 현재 실행 중인 SQL Server 버전에서 만든 백업에서만 복원할 수 있습니다. 예를 들어 서비스 팩 1을 사용하여 SQL Server 2016(13.x)을 실행하는 서버 인스턴스에서 시스템 데이터베이스를 복원하려면 서버 인스턴스가 SQL Server 2016(13.x) SP 1로 업그레이드된 후 생성된 데이터베이스 백업을 사용해야 합니다.

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

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

    서버 인스턴스를 시작할 수 있는 경우 전체 데이터베이스 백업에서 복원 master 할 수 있어야 합니다. 자세한 내용은 마스터 데이터베이스 복원(Transact-SQL)을 참조하세요.

  • 완전히 다시 빌드 master 합니다.

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

    Important

    다시 빌드하면 master 모든 시스템 데이터베이스가 다시 빌드됩니다.

경우에 따라 데이터베이스를 복구하는 데 model 문제가 발생하면 시스템 데이터베이스를 다시 빌드하거나 데이터베이스의 mdf 파일과 ldf 파일을 model 교체해야 할 수 있습니다. 자세한 내용은 시스템 데이터베이스 다시 작성을 참조 하세요.

관련 작업