이 항목에서는 SQL Server 데이터베이스 백업의 이점, 기본 백업 및 복원 조건에 대해 설명하고 SQL Server에 대한 백업 및 복원 전략과 SQL Server 백업 및 복원에 대한 보안 고려 사항을 소개합니다.
SQL Server 백업 및 복원 구성 요소는 SQL Server 데이터베이스에 저장된 중요한 데이터를 보호하기 위한 필수 보호 기능을 제공합니다. 치명적인 데이터 손실의 위험을 최소화하려면 정기적으로 데이터를 수정하도록 데이터베이스를 백업해야 합니다. 잘 계획된 백업 및 복원 전략은 다양한 오류로 인한 데이터 손실로부터 데이터베이스를 보호하는 데 도움이 됩니다. 백업 집합을 복원한 다음 데이터베이스를 복구하여 재해에 효과적으로 대응할 준비를 하여 전략을 테스트합니다.
SQL Server는 백업을 저장하기 위한 로컬 스토리지 외에도 Azure Blob Storage 서비스에서 백업 및 복원을 지원합니다. 자세한 내용은 Azure Blob Storage 서비스를 사용하여 SQL Server 백업 및 복원을 참조하세요.
혜택
SQL Server 데이터베이스를 백업하고, 테스트 복원 절차를 백업에 실행하고, 안전한 오프사이트 위치에 백업 복사본을 저장하면 잠재적으로 치명적인 데이터 손실로부터 보호할 수 있습니다.
중요합니다
이것이 SQL Server 데이터를 안정적으로 보호하는 유일한 방법입니다.
데이터베이스의 유효한 백업을 사용하면 다음과 같은 많은 오류에서 데이터를 복구할 수 있습니다.
미디어 오류
사용자 오류(예: 실수로 테이블을 삭제).
하드웨어 오류(예: 손상된 디스크 드라이브 또는 서버의 영구 손실)입니다.
자연 재해. AZURE Blob Storage 서비스에 SQL Server Backup을 사용하면 온-프레미스 위치와 다른 지역에 오프사이트 백업을 만들어 온-프레미스 위치에 영향을 주는 자연 재해 발생 시 사용할 수 있습니다.
또한 데이터베이스 백업은 한 서버에서 다른 서버로 데이터베이스 복사, Always On 가용성 그룹 또는 데이터베이스 미러링 설정 및 보관과 같은 일상적인 관리 용도로 유용합니다.
구성 요소 및 개념
백업 [동사]
SQL Server 데이터베이스 또는 해당 트랜잭션 로그의 데이터 또는 로그 레코드를 디스크와 같은 백업 디바이스에 복사하여 데이터 백업 또는 로그 백업을 만듭니다.
백업 [명사]
오류 발생 후 데이터를 복원하고 복구하는 데 사용할 수 있는 데이터 복사본입니다. 데이터베이스 백업을 사용하여 데이터베이스 복사본을 새 위치로 복원할 수도 있습니다.
백업 디바이스
SQL Server 백업이 작성되고 복원할 수 있는 디스크 또는 테이프 디바이스입니다. SQL Server 백업은 Azure Blob Storage 서비스에 기록할 수도 있으며 URL 형식은 백업 파일의 대상과 이름을 지정하는 데 사용됩니다. 자세한 내용은 Azure Blob Storage 서비스를 사용하여 SQL Server 백업 및 복원을 참조하세요.
백업 미디어
하나 이상의 백업이 작성된 하나 이상의 테이프 또는 디스크 파일입니다.
데이터 백업
전체 데이터베이스의 데이터 백업(데이터베이스 백업), 부분 데이터베이스(부분 백업) 또는 데이터 파일 또는 파일 그룹 집합(파일 백업)입니다.
데이터베이스 백업
데이터베이스의 백업입니다. 전체 데이터베이스 백업은 백업이 완료된 시점의 전체 데이터베이스를 나타냅니다. 차등 데이터베이스 백업에는 가장 최근의 전체 데이터베이스 백업 이후 데이터베이스에 대한 변경 내용만 포함됩니다.
차등 백업
전체 또는 부분 데이터베이스의 최신 전체 백업 또는 데이터 파일 또는 파일 그룹 집합(차등 기반)을 기반으로 하며 해당 기반 이후 변경된 데이터만 포함하는 데이터 백업입니다.
전체 백업
특정 데이터베이스 또는 파일 그룹 또는 파일 집합의 모든 데이터와 해당 데이터를 복구할 수 있는 충분한 로그를 포함하는 데이터 백업입니다.
로그 백업
이전 로그 백업에 백업되지 않은 모든 로그 레코드를 포함하는 트랜잭션 로그의 백업입니다. (전체 복구 모델)
복구
데이터베이스를 안정적이고 일관된 상태로 되돌리려면
복구
복구와 함께 트랜잭션 일관 상태로 데이터베이스를 가져오는 데이터베이스 시작 또는 복원 단계입니다.
복구 모델
데이터베이스의 트랜잭션 로그 유지 관리를 제어하는 데이터베이스 속성입니다. 단순, 전체 및 일괄 로깅의 세 가지 복구 모델이 있습니다. 데이터베이스의 복구 모델에 따라 백업 및 복원 요구 사항이 결정됩니다.
복원
지정된 SQL Server 백업에서 지정된 데이터베이스로 모든 데이터 및 로그 페이지를 복사한 다음, 기록된 변경 내용을 적용하여 백업에 기록된 모든 트랜잭션을 롤업하여 데이터를 정시에 전달하는 다단계 프로세스입니다.
백업 및 복원 전략 소개
데이터 백업 및 복원은 특정 환경에 맞게 사용자 지정되어야 하며 사용 가능한 리소스로 작업해야 합니다. 따라서 복구를 위해 백업 및 복원을 안정적으로 사용하려면 백업 및 복원 전략이 필요합니다. 잘 설계된 백업 및 복원 전략은 특정 비즈니스 요구 사항을 고려하면서 데이터 가용성을 최대화하고 데이터 손실을 최소화합니다.
중요합니다
데이터베이스와 백업을 별도의 디바이스에 배치합니다. 그렇지 않으면 데이터베이스가 포함된 디바이스가 실패하면 백업을 사용할 수 없습니다. 별도의 디바이스에 데이터와 백업을 배치하면 데이터베이스의 쓰기 백업 및 프로덕션 사용 모두에 대한 I/O 성능도 향상됩니다.
백업 및 복원 전략에는 백업 부분과 복원 부분이 포함됩니다. 전략의 백업 부분은 백업의 유형 및 빈도, 필요한 하드웨어의 특성 및 속도, 백업을 테스트하는 방법, 백업 미디어를 저장할 위치 및 방법(보안 고려 사항 포함)을 정의합니다. 전략의 복원 부분은 복원을 수행하는 담당자와 데이터베이스 가용성 및 데이터 손실을 최소화하기 위한 목표를 달성하기 위해 복원을 수행해야 하는 방법을 정의합니다. 백업 및 복원 절차를 문서화하고 설명서의 복사본을 실행 책에 보관하는 것이 좋습니다.
효과적인 백업 및 복원 전략을 설계하려면 신중한 계획, 구현 및 테스트가 필요합니다. 테스트가 필요합니다. 복원 전략에 포함된 모든 조합에서 백업을 성공적으로 복원하기 전에는 백업 전략이 없습니다. 다양한 요소를 고려해야 합니다. 여기에는 다음이 포함되었습니다.
데이터베이스에 대한 조직의 프로덕션 목표, 특히 데이터 손실로부터의 가용성 및 보호를 위한 요구 사항.
각 데이터베이스의 특성: 크기, 사용 패턴, 콘텐츠의 특성, 데이터에 대한 요구 사항 등
하드웨어, 직원, 백업 미디어 저장 공간, 저장된 미디어의 물리적 보안 등과 같은 리소스에 대한 제약 조건입니다.
비고
SQL Server 디스크 내 스토리지 형식은 64비트 및 32비트 환경에서 동일합니다. 따라서 백업 및 복원은 32비트 및 64비트 환경에서 작동합니다. 한 환경에서 실행되는 서버 인스턴스에서 만든 백업은 다른 환경에서 실행되는 서버 인스턴스에서 복원할 수 있습니다.
백업 및 복원에 대한 복구 모델의 영향
백업 및 복원 작업은 복구 모델의 컨텍스트 내에서 수행됩니다. 복구 모델은 트랜잭션 로그를 관리하는 방법을 제어하는 데이터베이스 속성입니다. 또한 데이터베이스의 복구 모델은 데이터베이스에 대해 지원되는 백업 유형 및 복원 시나리오를 결정합니다. 일반적으로 데이터베이스는 단순 복구 모델 또는 전체 복구 모델을 사용합니다. 대량 작업 전에 대량 로그 복구 모델로 전환하여 전체 복구 모델을 보완할 수 있습니다. 이러한 복구 모델 및 해당 모델이 트랜잭션 로그 관리에 미치는 영향에 대한 소개 는 트랜잭션 로그(SQL Server)를 참조하세요.
데이터베이스에 가장 적합한 복구 모델은 비즈니스 요구 사항에 따라 다릅니다. 트랜잭션 로그 관리를 방지하고 백업 및 복원을 간소화하려면 간단한 복구 모델을 사용합니다. 작업 손실 노출을 최소화하려면 관리 오버헤드의 비용으로 전체 복구 모델을 사용합니다. 백업 및 복원에 대한 복구 모델의 영향에 대한 자세한 내용은 Backup 개요(SQL Server)를 참조하세요.
백업 전략 디자인
특정 데이터베이스에 대한 비즈니스 요구 사항을 충족하는 복구 모델을 선택한 후에는 해당 백업 전략을 계획하고 구현해야 합니다. 최적의 백업 전략은 다양한 요인에 따라 달라지며, 그 중에서 특히 중요한 요소는 다음과 같습니다.
애플리케이션에서 데이터베이스에 액세스해야 하는 시간은 하루 몇 시간입니까?
예측 가능한 사용량이 적은 기간이 있는 경우 해당 기간 동안 전체 데이터베이스 백업을 예약하는 것이 좋습니다.
변경 내용과 업데이트가 발생할 가능성이 얼마나 큽니까?
변경 내용이 자주 발생하면 다음 사항을 고려하세요.
간단한 복구 모델에서 전체 데이터베이스 백업 간에 차등 백업을 예약하는 것이 좋습니다. 차등 백업은 마지막 전체 데이터베이스 백업 이후의 변경 내용만 캡처합니다.
전체 복구 모델에서 자주 로그 백업을 예약해야 합니다. 전체 백업 사이에 차등 백업을 예약하면 데이터를 복원한 후 복원해야 하는 로그 백업 수가 감소하므로 복원 시간이 줄어들 수 있습니다.
변경 내용은 데이터베이스의 작은 부분이나 데이터베이스의 큰 부분에서만 발생할 수 있나요?
변경 내용이 파일 또는 파일 그룹의 일부에 집중되는 대규모 데이터베이스의 경우 부분 백업 및 파일 백업이 유용할 수 있습니다. 자세한 내용은 부분 백업(SQL Server) 및 전체 파일 백업(SQL Server)을 참조하세요.
전체 데이터베이스 백업에 필요한 디스크 공간은 얼마인가요?
자세한 내용은 이 섹션 의 뒷부분에 있는 전체 데이터베이스 백업의 크기 추정을 참조하세요.
전체 데이터베이스 백업의 크기 예측
백업 및 복원 전략을 구현하기 전에 전체 데이터베이스 백업에서 사용할 디스크 공간을 예측해야 합니다. 백업 작업은 데이터베이스의 데이터를 백업 파일에 복사합니다. 백업에는 데이터베이스의 실제 데이터만 포함되며 사용되지 않은 공간은 포함되지 않습니다. 따라서 백업은 일반적으로 데이터베이스 자체보다 작습니다. sp_spaceused 시스템 저장 프로시저를 사용하여 전체 데이터베이스 백업의 크기를 예측할 수 있습니다. 자세한 내용은 sp_spaceused(Transact-SQL)를 참조하세요.
백업 예약
백업 작업을 수행해도 실행 중인 트랜잭션에 미치는 영향이 최소화됩니다. 따라서 백업 작업은 정기적인 작업 중에 실행할 수 있습니다. 프로덕션 워크로드에 미치는 영향을 최소화하면서 SQL Server 백업을 수행할 수 있습니다.
비고
백업 중 동시성 제한에 대한 자세한 내용은 백업 개요(SQL Server)를 참조하세요.
필요한 백업 유형과 각 형식을 수행해야 하는 빈도를 결정한 후에는 데이터베이스에 대한 데이터베이스 유지 관리 계획의 일부로 정기 백업을 예약하는 것이 좋습니다. 유지 관리 계획 및 데이터베이스 백업 및 로그 백업에 대한 유지 관리 계획을 만드는 방법에 대한 자세한 내용은 유지 관리 계획 마법사 사용을 참조하세요.
백업 테스트
백업을 테스트할 때까지 복원 전략이 없습니다. 데이터베이스의 복사본을 테스트 시스템에 복원하여 각 데이터베이스에 대한 백업 전략을 철저히 테스트하는 것이 매우 중요합니다. 사용하려는 모든 유형의 백업 복원을 테스트해야 합니다.
각 데이터베이스에 대한 작업 설명서를 유지하는 것이 좋습니다. 이 작업 설명서에서는 백업 위치, 백업 디바이스 이름(있는 경우) 및 테스트 백업을 복원하는 데 필요한 시간을 문서화해야 합니다.
관련 작업
백업 작업 예약
백업 디바이스 및 백업 미디어 작업
백업 만들기
비고
부분 또는 복사 전용 백업의 경우 각각 PARTIAL 또는 COPY_ONLY 옵션과 함께 Transact-SQLBACKUP 문을 사용해야 합니다.
SQL Server Management Studio 사용
Transact-SQL 사용
데이터 백업 복원
SQL Server Management Studio 사용
Transact-SQL 사용
트랜잭션 로그 복원(전체 복구 모델)
SQL Server Management Studio 사용
Transact-SQL 사용
추가 복원 작업
Transact-SQL 사용
또한 참조하십시오
백업 개요(SQL Server)
복원 및 복구 개요(SQL Server)
BACKUP(Transact-SQL)
RESTORE(Transact-SQL)
Analysis Services 데이터베이스 백업 및 복원
Full-Text 카탈로그 및 인덱스 백업 및 복원
복제된 데이터베이스 백업 및 복원
트랜잭션 로그(SQL Server)
복구 모델(SQL Server)
미디어 세트, 미디어 패밀리 및 백업 세트(SQL Server)