지금 공유 :
차례 숨기기

백업 SQL Server 2025년 전체 가이드를 제공하는 데이터베이스입니다. 모든 기술 수준에 맞는 단계별 지침과 모범 사례를 제공합니다.

1. 소개 SQL Server 백업

1.1 무엇입니까 SQL Server 지원?

SQL Server 백업은 데이터 손실을 방지하기 위해 데이터베이스 파일의 복사본을 만드는 과정입니다. 백업은 특정 시점의 데이터베이스 상태를 저장하여 하드웨어 오류, 인적 오류 또는 재해 발생 시 데이터를 복원할 수 있도록 합니다.

SQL Server 기본적으로 .bak 파일에 백업을 저장합니다. 이 파일에는 테이블, 저장 프로시저, 뷰, 인덱스, 트랜잭션 로그 등 모든 데이터베이스 개체가 포함됩니다.

1.2 왜 SQL Server 백업은 중요합니다

데이터베이스 백업은 데이터 손실에 대한 최후의 방어선입니다. 적절한 백업이 없으면 조직은 다음과 같은 위험을 겪게 됩니다.

  • 영구적인 데이터 손실 하드웨어 오류 또는 손상으로 인해
  • 연장된 다운타임 복구 시도 중
  • 비즈니스 중단 그리고 수익 손실
  • 규정 준수 위반 데이터를 복구할 수 없는 경우
  • 평판 손상 서비스 중단으로 인해

정규병 SQL Server 백업은 비즈니스 연속성을 보장하고 데이터 보호에 대한 규정 요구 사항을 충족합니다.

1.3 일반적인 데이터 손실 시나리오

데이터 손실이 발생하는 시점을 파악하면 효과적인 백업 전략을 개발하는 데 도움이 됩니다.

  • 하드웨어 오류: 디스크 충돌, 서버 오작동 또는 스토리지 시스템 오류
  • 인간의 오류: 실수로 삭제, 잘못된 업데이트 또는 테이블 삭제
  • 소프트웨어 문제: 애플리케이션 버그, 손상된 업데이트 또는 시스템 충돌
  • 보안 침해: 랜섬웨어 공격, 악의적인 삭제 또는 무단 액세스
  • 자연 재해: 데이터 센터에 영향을 미치는 화재, 홍수 또는 정전

2. 이해 SQL Server 백업 유형

SQL Server 다양한 백업 유형을 지원하며, 각각은 다른 복구 요구 사항과 저장 요구 사항을 충족합니다.

2.1 전체 백업

전체 백업은 복구에 필요한 모든 데이터 파일과 트랜잭션 로그의 일부를 포함하여 전체 데이터베이스의 완전한 사본을 생성합니다.

2.1.1 전체 백업을 사용해야 하는 경우

전체 백업은 다음과 같은 경우에 적합합니다.

  • 다른 백업 유형에 대한 기준 설정
  • 백업 시간이 허용되는 중소 규모 데이터베이스
  • 주간 또는 월간 백업 일정
  • 변경이 거의 없는 데이터베이스

2.1.2 전체 백업의 장점 및 제한 사항

장점:

  • 가장 간단한 복원 프로세스 - 단일 파일에 모든 것이 포함되어 있습니다.
  • 자체 포함 및 다른 백업과 독립적
  • 완전한 데이터베이스 복원을 위한 가장 빠른 복구 시간

제한 사항 :

  • 상당한 저장 공간이 필요합니다
  • 대용량 데이터베이스의 경우 백업 시간이 더 길어집니다.
  • 백업 작업 중 리소스 소모 증가

2.2 차등 백업

차등 백업은 마지막 전체 백업 이후의 데이터 변경 사항만 캡처하므로 백업 시간과 저장 공간 요구 사항이 줄어듭니다.

2.2.1 차등 백업 작동 방식

차등 백업은 변경된 익스텐트를 사용하여 수정 사항을 추적합니다. 복원할 때 SQL Server 먼저 마지막 전체 백업을 적용한 다음 m을 적용합니다.ost 최근 차등 백업.

2.2.2 전체 백업 대 차등 백업

전체 백업과 차등 백업

아래 전체 백업 차등 백업
중량 완전한 데이터베이스 마지막 전체 백업 이후 변경 사항만
백업 시간 가장 긴 전체보다 빠름
복원 프로세스 단일 파일 복원 전체 + 차동이 필요합니다
필요한 저장 공간 Most 공간 처음에는 공간이 적지만 시간이 지남에 따라 공간이 늘어납니다.

2.3 트랜잭션 로그 백업

트랜잭션 로그 백업은 마지막 로그 백업 이후의 모든 트랜잭션을 캡처하여 특정 시점 복구를 가능하게 합니다.

2.3.1 트랜잭션 로그 이해

트랜잭션 로그는 데이터베이스의 모든 수정 사항을 기록합니다. 로그 백업은 로그의 비활성 부분을 잘라내어 로그가 무한정 늘어나 디스크 공간을 가득 채우는 것을 방지합니다.

2.3.2 시점 복구

트랜잭션 로그 백업을 사용하면 로그 백업 내의 특정 시점으로 데이터베이스를 복원할 수 있습니다. 이는 실수로 데이터를 수정하거나 삭제한 경우 복구하는 데 매우 중요합니다.

특정 시점 복구를 수행하려면 다음이 필요합니다.

  • 마지막 전체 백업
  • most 최근 차등 백업(선택 사항)
  • 전체/차등 백업에서 모든 트랜잭션 로그 백업 tar시간을 얻다.

2.4 테일 로그 백업

테일 로그 백업은 아직 백업되지 않은 로그 레코드를 캡처하여 데이터 손실을 방지하고 로그 체인을 그대로 유지합니다. 복구하기 전에 SQL Server 데이터베이스를 최신 시점까지 백업하려면 트랜잭션 로그의 테일(tail)을 백업해야 합니다. 테일 로그 백업은 데이터베이스 복구 계획에서 마지막으로 필요한 백업입니다.

테일 로그 백업을 설명하는 다이어그램 SQL Server.

참고 : 모든 복원 시나리오에 테일 로그 백업이 필요한 것은 아닙니다. 복구 지점이 이전 로그 백업에 포함되어 있는 경우에는 테일 로그 백업이 필요하지 않습니다. 또한 데이터베이스를 이동하거나 교체(덮어쓰기)하고 데이터베이스가 삭제된 이후의 시점으로 복원할 필요가 없는 경우에도 테일 로그 백업이 필요하지 않습니다.ost 최근 백업.

2.4.1 테일 로그 백업이 필요한 경우

다음 시나리오에서는 테일 로그 백업을 수행해야 하는 경우를 설명합니다.

온라인 데이터베이스 복구: 데이터베이스가 온라인 상태이고 데이터베이스에서 복원 작업을 수행하려는 경우 먼저 로그의 마지막 부분부터 백업하십시오. 온라인 데이터베이스에서 오류가 발생하지 않도록 하려면 백업할 때 BACKUP Transact-SQL 문의 WITH NORECOVERY 옵션을 사용해야 합니다. SQL Server 데이터 베이스.

오프라인 데이터베이스 복구: 데이터베이스가 오프라인 상태이고 s에 실패하는 경우tar데이터베이스를 복원해야 하는 경우, 먼저 로그의 마지막 부분을 백업해야 합니다. 이 시점에서는 트랜잭션이 발생할 수 없으므로 WITH NORECOVERY 옵션은 선택 사항입니다. 이 경우 NORECOVERY는 사실상 복사 전용 트랜잭션 로그 백업과 동일합니다.

손상된 데이터베이스 백업: 데이터베이스가 손상된 경우 BACKUP 문의 WITH CONTINUE_AFTER_ERROR 옵션을 사용하여 테일 로그 백업을 시도해 보십시오. 손상된 데이터베이스에서 테일 로그 백업은 로그 파일이 손상되지 않고, 데이터베이스가 테일 로그 백업을 지원하는 상태이며, 데이터베이스에 대량 로그 변경 사항이 포함되어 있지 않은 경우에만 성공할 수 있습니다. 테일 로그 백업을 생성할 수 없는 경우, 최신 MS SQL Server 백업 데이터베이스는 l입니다ost.

2.4.2 테일 로그 백업을 위한 주요 옵션

회복 불가: 나중에 복원할 예정인 온라인 데이터베이스의 로그 일부를 백업하는 경우 WITH NORECOVERY를 사용합니다. NORECOVERY는 데이터베이스를 오프라인 상태로 만듭니다. 또한 SQL Server 오프라인 데이터베이스의 tail 로그입니다. 데이터베이스를 오프라인 상태로 유지하려면 WITH NORECOVERY를 사용하세요. COPY_ONLY 또는 NO_TRUNCATE 옵션을 지정하지 않으면 로그가 잘립니다.

오류 발생 후 계속: 손상된 데이터베이스의 로그 테일을 백업하는 경우에만 CONTINUE_AFTER_ERROR를 사용하세요. 손상된 데이터베이스의 로그 테일을 백업하는 경우, 일반적으로 로그 백업에 포함된 일부 메타데이터를 사용하지 못할 수 있습니다.

2.5 복사 전용 백업

복사 전용 백업은 정상적인 백업 순서에 영향을 주지 않고 독립적인 백업을 생성합니다. 차등 백업 체인이나 트랜잭션 로그 연속성을 방해하지 않습니다.

다음과 같은 경우 복사 전용 백업을 사용하세요.

  • 테스트 또는 개발 데이터베이스 복사본 만들기
  • 예약된 백업에 영향을 주지 않고 임시 백업
  • 주요 변경이나 테스트 전 백업

2.6 파일 및 파일 그룹 백업

파일 및 파일 그룹 백업 tar전체 데이터베이스가 아닌 특정 데이터베이스 파일이나 파일 그룹을 가져옵니다. 이 방법은 모든 항목을 백업하는 데 시간이 너무 오래 걸리는 매우 큰 데이터베이스에 적합합니다.

장점은 다음과 같습니다 :

  • 대용량 데이터베이스에 대한 더 빠른 백업 작업
  • 여러 파일 그룹의 병렬 백업
  • 세분화된 복구 옵션
  • 읽기 전용 파일 그룹에 대한 최적화된 백업 일정

2.7 부분 백업

부분 백업에는 기본 파일 그룹과 읽기 전용 파일 그룹을 제외한 모든 읽기-쓰기 파일 그룹의 모든 데이터가 포함됩니다. 이렇게 하면 읽기 전용 파일 그룹에 정적 기록 데이터가 저장된 데이터베이스의 백업 크기와 시간이 줄어듭니다.

3. SQL Server 복구 모델

SQL Server 복구 모델은 사용 가능한 백업 유형과 트랜잭션 로그가 관리되는 방식을 결정합니다.

3.1 단순 복구 모델

3.1.1 특성 및 사용 사례

단순 복구는 각 체크포인트 이후에 트랜잭션 로그를 자동으로 잘라내어 로그 백업을 요구하지 않고도 공간을 회수합니다.

최상의 :

  • 개발 및 테스트 데이터베이스
  • 백업 간 데이터 손실이 허용되는 데이터베이스
  • 재실행이 가능한 ETL 프로세스가 있는 데이터웨어하우스
  • 읽기 전용 또는 보고 데이터베이스

3.1.2 사용 가능한 백업 옵션

간단한 복구는 다음을 지원합니다.

  • 전체 백업
  • 차등 백업
  • 파일 및 파일 그룹 백업
  • 복사 전용 백업

트랜잭션 로그 백업은 사용할 수 없습니다 간단한 복구 모델.

3.2 전체 복구 모델

3.2.1 기능 및 이점

전체 복구는 모든 트랜잭션을 기록하고 백업할 때까지 로그 레코드를 보존합니다. 이를 통해 트랜잭션 로그 백업 내의 어느 시점으로든 데이터를 완벽하게 복구할 수 있습니다.

주요 장점 :

  • 최소한의 데이터 손실 가능성
  • 특정 시점 복원 기능
  • 로그 전송 및 데이터베이스 미러링을 지원합니다.
  • 최대 복구 유연성

3.2.2 트랜잭션 로그 관리

전체 복구 시에는 다음을 위해 정기적인 트랜잭션 로그 백업을 수행해야 합니다.

  • 트랜잭션 로그가 디스크 공간을 채우는 것을 방지합니다.
  • 지속적인 백업 체인 유지
  • 특정 시점 복구 활성화
  • 로그 파일 증가 제어

일반적인 백업 일정: 매주 전체 백업, 매일 차등 백업, 15~30분마다 로그 백업.

3.3 대량 로그 복구 모델

3.3.1 대량 로깅을 사용하는 경우

대량 로깅 복구는 일반 트랜잭션에 대한 전체 로깅을 유지하면서 BULK INSERT, SELECT INTO 및 인덱스 재구축과 같은 대량 작업을 최소한으로 로깅합니다.

다음과 같은 경우 대량 로깅 복구를 사용합니다.

  • 대량 수입 작업 수행
  • 대형 테이블의 인덱스 재구축
  • 최소 로깅으로 이점을 얻는 작업 실행
  • 특정 작업 중 트랜잭션 로그 크기를 줄여야 함

3.3.2 제한사항 및 고려사항

중요한 제한 사항:

  • 대량 작업 중에는 특정 시점 복원을 사용할 수 없습니다.
  • 대량 작업이 발생하면 로그 백업이 더 커집니다.
  • 필요에 따라 전체 기록과 대량 기록 사이를 전환해야 합니다.

3.4 올바른 복구 모델 선택

비즈니스 요구 사항에 따라 복구 모델을 선택하세요.

복구 모델 데이터 손실 위험 특정 시점 복구 지원 기기
단순, 간단, 편리 마지막 백업 이후 변경 사항 아니 개발/테스트, 허용 가능한 데이터 손실
가득 찬 최소 (일반적으로 분) 가능 생산 데이터베이스, 중요 데이터
대량 기록 마지막 로그 백업 이후 변경 사항 대량 작업 중 제한됨 속도rar대량 작업 중 사용

4. 지원 SQL Server SSMS를 사용한 데이터베이스

4.1 전제 조건 및 준비

백업하기 전에 SQL Server 데이터베이스에서 다음을 확인하세요.

  • 적절한 권한이 있습니다(db_owner 또는 BACKUP DATABASE 권한)
  • 백업 파일을 위한 충분한 디스크 공간
  • SQL Server Management Studio(SSMS) 설치됨
  • 네트워크 위치로 백업하는 경우 액세스 가능한 네트워크 경로

4.2 단계별: SSMS를 사용한 전체 백업

다음 단계에 따라 전체 백업을 만드세요. SQL Server SSMS를 사용하여 데이터베이스.

4.2.1 열기 SQL Server 관리 스튜디오

  1. 실행 SQL Server 관리 스튜디오
  2. 서버 이름을 입력하세요 서버 이름
  3. 인증 방법을 선택하세요
  4. 연결하기

4.2.2 데이터베이스 및 백업 옵션 선택

  1. In 개체 탐색기, 데이터베이스 노드
  2. 백업하려는 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다.
  3. 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 작업 -> 백업
    Star백업 작업을 위한 ta SQL Server 데이터베이스 SQL Server 매니지먼트 스튜디오.
  4. . 데이터베이스 백업 창에서 데이터베이스 이름을 확인하세요
  5. 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 가득 찬백업 유형
    전체 백업을 만듭니다. SQL Server 데이터베이스 SQL Server 매니지먼트 스튜디오.

4.2.3 백업 대상 구성

  1. $XNUMX Million 미만 목적지클릭 제거 기본 경로를 지우려면(필요한 경우)
  2. 추가 새 백업 위치를 지정하려면
  3. 파일 경로와 이름을 입력하세요. 확장자
  4. OK 목적지를 확인하려면

백업 대상을 설정하세요 SQL Server 매니지먼트 스튜디오.

4.2.4 Advanced Backup 설정

  1. 미디어 옵션 왼쪽 패널에서
  2. 백업 옵션을 선택하세요:
    • 기존 백업 세트를 모두 덮어씁니다. – 기존 백업을 대체합니다.
    • 기존 백업 세트에 추가 – 기존 백업 파일에 추가합니다.

    백업 미디어 옵션을 설정하세요 SQL Server 매니지먼트 스튜디오.

  3. 백업 옵션 왼쪽 패널에서
  4. 옵션 설정을 구성하세요:
    • 백업 압축 – 백업 파일 크기를 줄입니다.
    • 백업 암호화 – 민감한 데이터를 보호합니다
    • 백업이 완료되면 확인하세요 – 백업 무결성을 확인합니다.

    백업 옵션을 설정하세요 SQL Server 매니지먼트 스튜디오.

4.2.5 백업 실행

  1. 모든 설정을 검토하세요 데이터베이스 백업
  2. OK 그것은tar백업 프로세스
  3. 백업이 완료될 때까지 기다리세요
  4. 백업이 완료되면 성공 메시지가 나타납니다.
  5. OK 확인 대화 상자를 닫으려면

4.3 SSMS를 사용하여 차등 백업 만들기

차등 백업을 만들려면 전체 백업과 동일한 단계를 따르되 다음을 선택하세요. 차동 4.2.2단계에서 백업 유형으로 지정했습니다. 차등 백업은 기준으로 사전 전체 백업이 필요하다는 점을 기억하세요.

차등 백업을 만듭니다. SQL Server 데이터베이스 SQL Server 매니지먼트 스튜디오.

4.4 SSMS를 사용하여 트랜잭션 로그 백업 만들기

트랜잭션 로그 백업은 전체 또는 대량 로그 복구 모델을 사용하는 데이터베이스에만 사용할 수 있습니다.

  1. 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다. 개체 탐색기
  2. 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 작업 -> 백업
  3. 왼쪽 메뉴에서 거래 로그 백업 유형으로
  4. 필요에 따라 목적지와 옵션을 구성하세요
  5. OK 로그 백업을 생성하려면

트랜잭션 로그 백업을 만듭니다. SQL Server 데이터베이스 SQL Server 매니지먼트 스튜디오.

4.5 SSMS를 사용하여 복사 전용 백업 만들기

복사 전용 백업은 정기적인 백업 순서를 방해하지 않습니다.

  1. 전체 백업을 만드는 단계를 따르세요
  2. . 백업 옵션 페이지
  3. 확인 복사 전용 백업 option
  4. 백업 프로세스를 정상적으로 완료합니다.

복사 전용 백업을 만듭니다. SQL Server 데이터베이스 SQL Server 매니지먼트 스튜디오.

5. 지원 SQL Server T-SQL을 사용한 데이터베이스

5.1 기본 BACKUP DATABASE 구문

T-SQL BACKUP DATABASE 명령은 다음에 대한 프로그래밍 방식 제어를 제공합니다. SQL Server 백업.

BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;

5.2 전체 백업 T-SQL 명령

5.2.1 간단한 전체 백업 스크립트

최소한의 옵션으로 기본 전체 백업을 만듭니다.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO

5.2.2 옵션을 사용한 전체 백업

설명 정보와 서식 옵션을 추가합니다.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
     INIT,
     NAME = 'AdventureWorks-Full Database Backup',
     DESCRIPTION = 'Full backup of AdventureWorks database',
     STATS = 10
GO

옵션 설명:

  • FORMAT – 새로운 백업 세트를 생성합니다.
  • INIT – 기존 백업 파일을 덮어씁니다.
  • 이름 – 백업 세트 이름을 지정합니다.
  • 기술 – 설명 텍스트를 추가합니다.
  • STATS – 10%마다 진행 상황을 표시합니다.

5.3 차등 백업 T-SQL 명령

차등 백업은 DIFFERENTIAL 옵션을 사용합니다.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
     INIT,
     NAME = 'AdventureWorks-Differential Backup',
     STATS = 10
GO

5.4 트랜잭션 로그 백업 T-SQL 명령

트랜잭션 로그 백업을 위해 BACKUP LOG를 사용하세요.

BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
     NAME = 'AdventureWorks-Transaction Log Backup',
     STATS = 10
GO

5.5 고급 T-SQL 백업 옵션

5.5.1 여러 파일에 백업

더 빠른 성능을 위해 여러 파일에 백업을 분산하세요.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
   DISK = 'D:\Backups\AdventureWorks_2.bak',
   DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO

5.5.2 압축을 사용한 백업

백업 파일 크기와 네트워크 대역폭을 줄이세요.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
     INIT,
     STATS = 10
GO

5.5.3 암호화를 통한 백업

암호화를 통해 민감한 데이터를 보호하세요.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
     ENCRYPTION (
         ALGORITHM = AES_256,
         SERVER CERTIFICATE = BackupCertificate
     ),
     STATS = 10
GO

5.5.4 암호 보호를 통한 백업

비밀번호 보호 추가(더 이상 사용되지 않음, 대신 암호화 사용):

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
     INIT
GO

5.5.5 미러링된 백업

여러 위치에 동시 사본을 만듭니다.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO

5.6 T-SQL 백업 예제 및 스크립트

오류 처리를 포함한 전체 백업 스크립트:

DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);

SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';

BEGIN TRY
    BACKUP DATABASE @DatabaseName
    TO DISK = @BackupPath
    WITH COMPRESSION,
         INIT,
         NAME = @DatabaseName + '-Full Backup',
         STATS = 10;
    
    PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
    PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO

6. 지원 SQL Server PowerShell을 사용한 데이터베이스

6.1 PowerShell 백업 Cmdlet

SQL Server PowerShell 모듈은 백업 자동화를 위한 cmdlet을 제공합니다.

  • 백업-SqlDatabase – 데이터베이스 백업을 생성합니다.
  • 복원-SqlDatabase – 데이터베이스 백업을 복원합니다.
  • Get-SqlDatabase – 데이터베이스 정보를 검색합니다.

가져 오기 SQL Server 기준 치수:

Import-Module SqlServer

6.2 PowerShell을 사용하여 백업 스크립트 만들기

기본 PowerShell 백업 명령:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks.bak" `
                    -BackupAction Database `
                    -CompressionOption On

차등 백업 예:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
                    -BackupAction Database `
                    -Incremental

트랜잭션 로그 백업:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks_Log.trn" `
                    -BackupAction Log

6.3 PowerShell을 사용한 백업 자동화

여러 데이터베이스에 대한 자동 백업 스크립트를 만듭니다.

# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"

# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
    New-Item -ItemType Directory -Path $BackupPath
}

# Backup each database
foreach ($Database in $Databases) {
    $BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
    
    try {
        Backup-SqlDatabase -ServerInstance $ServerInstance `
                          -Database $Database `
                          -BackupFile $BackupFile `
                          -BackupAction Database `
                          -CompressionOption On
        
        Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
    }
    catch {
        Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
    }
}

7. 지원 SQL Server 명령줄을 사용한 데이터베이스

SQL Server 백업을 허용하는 명령줄 유틸리티를 제공합니다. SQL Server SSMS나 그래픽 인터페이스를 사용하지 않고도 데이터베이스를 관리할 수 있습니다. 이러한 도구는 자동화, 스크립팅 및 원격 관리 시나리오에 필수적입니다.

7.1 SQLCMD 백업 데이터베이스 사용

SQLCMD는 최신 명령줄 유틸리티입니다. SQL Server OSQL을 대체하는 도구입니다. 향상된 기능을 제공하며 명령 프롬프트에서 T-SQL 명령을 실행하는 데 권장되는 도구입니다.

7.1.1 기본 SQLCMD 구문

sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -에스: 지정합니다 SQL Server 인스턴스 이름
  • -디: 데이터베이스 이름을 지정합니다
  • -큐: 쿼리를 실행하고 종료합니다.
  • -그리고: Windows 인증을 사용합니다
  • -유: 지정 SQL Server 로그인 사용자 이름
  • -피: 암호를 지정합니다 SQL Server 로그인

7.1.2 SQLCMD를 사용하여 백업 생성

백업하려면 SQL Server SQLCMD를 사용하여 다음 단계를 따르세요.

  1. 엽니다 명령 프롬프트 or PowerShell을
  2. 로 이동 SQL Server 도구 디렉토리(일반적으로 설치 중 PATH에 추가됨)
  3. 적절한 매개변수를 사용하여 SQLCMD 백업 데이터베이스 명령을 실행합니다.
  4. 백업 파일이 성공적으로 생성되었는지 확인하세요

Windows 인증을 사용한 전체 백업 명령의 예:

sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"

예제 사용 SQL Server 입증:

sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"

SQLCMD를 사용하여 차등 백업 만들기

sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"

SQLCMD를 사용하여 트랜잭션 로그 백업 만들기

sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"

7.1.3 게시자 데이터베이스 백업 SQL Server 복제

게시자 데이터베이스를 백업할 때 SQL Server 복제 시, 복제 메타데이터를 보존하고 트랜잭션 일관성을 보장하려면 WITH REPLICATION 옵션을 사용하십시오.

-- Backup publisher database with replication support
BACKUP DATABASE PublisherDB 
TO DISK = 'C:\Backup\PublisherDB_Full.bak'
WITH REPLICATION, 
     COMPRESSION,
     CHECKSUM,
     INIT,
     STATS = 10;
GO

자세한 내용은 SQL Server 복제에 대한 자세한 내용은 당사 웹사이트를 참조하십시오. 종합 가이드.

7.2 OSQL 백업 데이터베이스 사용

OSQL은 레거시 명령줄 유틸리티입니다. SQL ServerMicrosoft에서는 SQLCMD를 사용할 것을 권장하지만, 이전 스크립트 및 시스템과의 하위 호환성을 위해 OSQL도 계속 사용할 수 있습니다.

7.2.1 기본 OSQL 구문

OSQL 구문은 SQLCMD와 유사합니다.

osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -에스: SQL Server 인스턴스 이름
  • -디: 데이터베이스 이름
  • -큐: 쿼리를 실행하고 종료합니다.
  • -그리고: 신뢰할 수 있는 연결(Windows 인증)을 사용합니다.
  • -유: 로그인 사용자 이름
  • -피: 로그인 비밀번호

7.2.2 OSQL을 사용하여 백업 생성

OSQL 백업 데이터베이스 작업을 수행하려면:

  1. 엽니다 명령 프롬프트
  2. OSQL을 사용할 수 있는지 확인하세요. SQL Server 설치
  3. OSQL 백업 명령을 실행합니다.

전체 백업 예시:

osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"

차등 백업의 예:

osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"

8. 제XNUMX자 SQL Server 백업 도구

DaVinci에는 SQL Server 기본 백업 기능을 포함하고 있으며, 타사 도구는 복잡한 요구 사항을 가진 조직을 위해 향상된 기능, 자동화 및 엔터프라이즈급 관리 기능을 제공합니다. 이러한 솔루션은 고급 압축, 중앙 집중식 관리 및 간소화된 백업 워크플로를 제공합니다. SQL Server 다양한 환경에 걸친 데이터베이스.

8.1 Veeam 백업 SQL Server

Veeam은 백업을 위해 특별히 설계된 포괄적인 데이터 보호 솔루션을 제공합니다. SQL Server 프로덕션 시스템에 미치는 영향을 최소화하는 데이터베이스입니다.

주요 특징:

  • 응용 프로그램 인식 처리 SQL Server 백업 일관성
  • 트랜잭션 로그 백업 및 관리
  • 세부적인 복원 옵션을 갖춘 특정 시점 복구
  • 통합 데이터 보호를 위한 Veeam Backup & Replication과의 통합
  • 자동 백업 검증 및 유효성 검사
  • Always On 가용성 그룹 지원
  • VM 수준 및 애플리케이션 수준 SQL Server 백업 옵션

8.2 Barracuda 백업 SQL Server

Barracuda는 MS를 위한 간소화된 관리 기능을 갖춘 클라우드 통합 백업 솔루션을 제공합니다. SQL Server 백업 데이터베이스 작업.

주요 특징:

  • 자동화 SQL Server 백업 스케줄링
  • Barracuda Cloud Storage에 내장된 클라우드 복제
  • 글로벌 중복 제거 및 압축
  • 즉각적인 로컬 복구 기능
  • 웹 기반 관리 콘솔
  • 전체, 차등 및 트랜잭션 로그 백업 지원
  • 변경 불가능한 백업을 통한 랜섬웨어 보호

8.3 Veritas NetBackup SQL Server

Veritas NetBackup은 포괄적인 보호 기능을 제공하는 엔터프라이즈급 백업 플랫폼입니다. SQL Server 복잡한 IT 환경 전반의 데이터베이스.

주요 특징:

  • 수천 개의 기업 규모 백업 관리 SQL Server 인스턴스
  • 고급 중복 제거 및 압축 알고리즘
  • 유연한 백업 정책 및 일정
  • 모두 지원 SQL Server 복구 모델
  • 테이프 라이브러리와의 통합raries 및 클라우드 스토리지
  • 데이터베이스, 테이블 및 객체의 세분화된 복구
  • 다중 플랫폼 지원(Windows, Linux SQL Server)
  • 자동화된 백업 라이프사이클 관리

8.4 Commvault Complete Backup & Recovery SQL Server

Commvault는 포괄적인 백업을 통해 지능형 데이터 관리를 제공합니다. SQL Server 역량과 고급 자동화 기능.

주요 특징:

  • AI 기반 백업 최적화 및 이상 감지
  • 백업, 복구 및 보관을 위한 통합 플랫폼
  • Advnaced SQL Server 백업 압축(최대 90% 감소)
  • 자동화된 재해 복구 오케스트레이션
  • 거의 0에 가까운 RPO 보호를 위한 라이브 동기화
  • 지원 SQL Server 온프레미스, 클라우드 및 하이브리드 배포
  • 스냅샷 기반 백업을 위한 IntelliSnap
  • 포괄적인 규정 준수 및 전자 증거 수집 기능

8.5 Cohesity DataProtect SQL Server

Cohesity는 현대적 하이퍼컨버지드 인프라를 통해 차세대 데이터 관리를 제공합니다. SQL Server 백업 작업.

주요 특징:

  • 간소화된 관리를 위한 웹 규모 아키텍처
  • 즉각적인 대량 복구 기능 SQL Server 데이터베이스
  • 애플리케이션 일관성 스냅샷
  • 모든 백업에 대한 글로벌 중복 제거
  • 네이티브 클라우드 통합(AWS, Azure, Google Cloud)
  • 내장된 분석 및 모니터링 대시보드
  • 데이터베이스 기능 복제 및 테스트
  • 변경 불가능한 스냅샷을 통한 랜섬웨어 보호

8.6 레드 게이트 SQL 백업 프로

Red Gate SQL Backup Pro는 최적화에만 초점을 맞춘 전문 도구입니다. SQL Server 뛰어난 압축률과 성능으로 백업 및 복원 작업을 수행합니다.

주요 특징:

  • 업계 최고 수준의 압축률(최대 95%)
  • 백업을 위한 네트워크 복원력 SQL Server 신뢰할 수 없는 연결을 통해
  • 256비트 AES를 사용한 백업 암호화
  • 백업 사본 검증 및 무결성 검사
  • 자세한 백업 내역 및 보고
  • 와 통합 SQL Server 관리 스튜디오
  • 네트워크 위치 및 클라우드 스토리지에 대한 백업 지원
  • 더 빠른 작업을 위한 병렬 백업 및 복원

9. 복원 방법 SQL Server 데이터베이스

9.1 복원 프로세스 이해

복원 SQL Server 데이터베이스는 백업 파일을 사용하여 데이터베이스를 재생성합니다. 복원 프로세스는 백업 파일을 읽고 데이터베이스를 백업된 상태로 재구성합니다.

중요 고려 사항:

  • 복원하면 기존 데이터베이스가 덮어씌워집니다.
  • 복원 중 사용자 연결이 끊어짐
  • 복원은 백업 순서(전체, 차등, 로그)를 따라야 합니다.
  • 복원 작업 중에는 데이터베이스를 사용할 수 없습니다.

9.2 SSMS를 사용하여 전체 백업 복원

전체 데이터베이스 백업을 복원하려면 다음 단계를 따르세요.

9.2.1 단계별 복원 프로세스

  1. 엽니다 SQL Server 관리 스튜디오 그리고 당신의 서버에 연결하세요
  2. In 개체 탐색기, 마우스 오른쪽 버튼으로 클릭 데이터베이스
  3. 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 데이터베이스 복원
  4. . 출처 섹션에서 선택 장치
  5. 클릭 ... 백업 파일을 찾아보는 버튼
  6. 추가 .bak 파일로 이동합니다.
  7. 백업 파일을 선택하고 클릭하세요 OK
  8. . 목적지 섹션에 데이터베이스 이름을 입력하세요
  9. 복원할 백업 세트를 검토하세요
  10. OK 그것은tar복원하다

9.2.2 복원 옵션 및 설정

옵션 왼쪽 패널에서 다음을 구성하세요.

  • 기존 데이터베이스를 덮어쓰기(WITH REPLACE) – 기존 데이터베이스를 복원할 수 있습니다.
  • 복제 상태를 유지합니다(WITH KEEP_REPLICATION). – 유지 SQL Server 복제 상태
  • 복원된 데이터베이스에 대한 액세스 제한(WITH RESTRICTED_USER) – 한계 post-접근성 복원
  • 복구 상태 – 복구와 함께 복원 또는 복구 없음 중에서 선택하십시오.

9.3 차등 백업 복원

차등 복원에는 전체 백업과 차등 백업이 모두 필요합니다.

  1. 먼저 전체 백업을 복원합니다. 회복 불가 option
  2. 그런 다음 차등 백업을 복원합니다. RECOVERY option

T-SQL 예:

-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO

9.4 트랜잭션 로그 백업을 사용한 복원

특정 시점 복구의 경우 순서대로 복원합니다.

  1. NORECOVERY로 전체 백업 복원
  2. NORECOVERY를 사용하여 차등 백업 복원(가능한 경우)
  3. NORECOVERY를 사용하여 트랜잭션 로그 백업을 순서대로 복원합니다.
  4. RECOVERY로 최종 로그 백업 복원
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;

-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO

9.5 지정 시간 복원

STOPAT 옵션을 사용하여 특정 시점으로 데이터베이스를 복원합니다.

-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO

9.6 테이블 복원

SQL Server 백업 파일에서 테이블 수준의 직접 복원을 지원하지 않습니다. 하지만 몇 가지 해결 방법이 있습니다.

9.6.1 방법 1: 데이터베이스 스냅샷 (예방에 가장 적합)

데이터베이스 스냅샷은 문제가 발생하기 전에 생성해 두면 테이블 데이터를 복원하는 가장 빠른 방법입니다. 스냅샷은 특정 시점의 데이터베이스를 읽기 전용으로 저장한 정적 뷰입니다.

데이터베이스 스냅샷 생성:

-- Create snapshot before making changes
CREATE DATABASE ProductionDB_Snapshot_20250107
ON
( NAME = ProductionDB_Data, 
  FILENAME = 'C:\Snapshots\ProductionDB_Snapshot.ss' )
AS SNAPSHOT OF ProductionDB;
GO

스냅샷에서 테이블 데이터 복원:

USE ProductionDB;
GO

-- Replace entire table content
BEGIN TRANSACTION;

-- Disable constraints temporarily
ALTER TABLE dbo.Orders NOCHECK CONSTRAINT ALL;

-- Clear current data
TRUNCATE TABLE dbo.Orders;

-- Restore from snapshot
INSERT INTO dbo.Orders
SELECT * FROM ProductionDB_Snapshot_20250107.dbo.Orders;

-- Re-enable constraints
ALTER TABLE dbo.Orders CHECK CONSTRAINT ALL;

COMMIT TRANSACTION;
GO

버전 요구 사항: 데이터베이스 스냅샷은 다음에서 확인할 수 있습니다. SQL Server 엔터프라이즈 에디션(모든 버전) 및 스탠다드 에디션tar팅 SQL Server 2016 SP1.

9.6.2 방법 2: 템포 복원rary 데이터베이스 (Most 흔한)

이 방법은 문제가 발생했지만 스냅샷이 없는 경우 테이블 데이터를 복구해야 할 때 유용합니다.

  1. 템포에 대한 백업을 복원합니다.rary 데이터베이스
  2. 템포에서 테이블 데이터를 복사합니다.rary 데이터베이스를 현재 데이터베이스로

9.7 페이지 복원

페이지 복원 기능은 전체 데이터베이스를 복원하지 않고 손상된 개별 페이지를 복구하여 다운타임을 최소화합니다. tar손상된 페이지만 복구하는 기능입니다. 이 기능은 전체 복구 또는 대량 로깅 복구 모델에서만 사용할 수 있으며, 페이지 백업부터 현재 로그 파일까지 끊김 없는 트랜잭션 로그 백업 체인이 필요합니다.

페이지 복원을 수행하려면 먼저 손상된 페이지를 식별하고, 테일 로그 백업을 생성하고, 특정 페이지를 복원한 다음, 모든 트랜잭션 로그를 적용해야 합니다.

-- Identify damaged pages
SELECT * FROM msdb.dbo.suspect_pages
WHERE database_id = DB_ID('AdventureWorks');

-- Take tail-log backup
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH NORECOVERY;

-- Restore damaged pages
RESTORE DATABASE AdventureWorks
PAGE = '1:123, 1:456'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;

-- Apply transaction logs
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH RECOVERY;
GO

참고 : 단순 복구 모델에서는 페이지 복원이 불가능합니다. 시스템 테이블이나 기본 파일 그룹 메타데이터에서 페이지를 복원할 수 없습니다.

9.8 부분적 복원

부분 복원(단계별 복원)은 파일 그룹 수준에서 데이터베이스를 단계적으로 복원합니다.tar기본 파일 그룹과 함께 복원합니다. 이렇게 하면 중요 데이터는 즉시 온라인 상태가 되고 중요도가 낮은 데이터는 백그라운드에서 복원됩니다. 단순 복구 모델에서는 모든 읽기/쓰기 파일 그룹을 기본 파일 그룹과 함께 복원해야 하며, 읽기 전용 파일 그룹만 별도로 복원할 수 있습니다. 전체 또는 대량 로깅 복구 모델에서는 트랜잭션 로그를 적용한 후 각 파일 그룹을 독립적으로 온라인 상태로 전환할 수 있습니다.

복구 모델 부분적인 행동 복원
단순, 간단, 편리 기본 파일 그룹과 모든 읽기/쓰기 파일 그룹은 함께 복원됩니다. 읽기 전용 파일 그룹은 별도로 복원됩니다.
전체/일괄 기록 각 파일 그룹은 파일 그룹 수준에서 독립적으로 복원됩니다.

완전 복구 모델의 예 - 먼저 기본 파일 그룹을 복원하여 데이터베이스를 온라인 상태로 만든 다음, 데이터베이스가 계속 작동 중인 상태에서 보조 파일 그룹을 복원합니다.

-- Stage 1: Restore primary filegroup (database comes online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, NORECOVERY;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO

-- Stage 2: Restore secondary filegroup (database stays online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'HistoricalData'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO

단순 복구 모델의 예시:

-- Restore primary with all read-write filegroups
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, RECOVERY;

-- Restore read-only filegroup separately
RESTORE DATABASE AdventureWorks
FILEGROUP = 'ReadOnlyArchive'
FROM DISK = 'C:\Backups\AdventureWorks_ReadOnly.bak'
WITH RECOVERY;
GO

9.9 T-SQL 명령을 사용하여 복원

파일 재배치를 포함한 전체 복원 스크립트:

RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
     MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
     REPLACE,
     STATS = 10;
GO

9.10 복원 전 백업 무결성 확인

복원하지 않고 백업 유효성 확인:

RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO

이 명령은 실제로 데이터베이스를 복원하지 않고도 백업 세트가 완전하고 읽을 수 있는지 확인합니다.

10. SQL Server 백업 모범 사례

10.1 백업 전략 개발

10.1.1 비즈니스 요구 사항 평가

백업을 구현하기 전에 다음을 평가하세요.

  • 데이터 중요도: 이 데이터는 운영에 얼마나 중요합니까?
  • 주파수 변경: 데이터는 얼마나 자주 변경됩니까?
  • 데이터베이스 크기: 데이터베이스의 크기는 얼마입니까?
  • 사용 가능한 리소스 : 사용 가능한 저장 용량과 대역폭은 얼마인가요?
  • 규정 준수 요구 사항: 어떤 규정을 따라야 합니까?

10.1.2 RTO 및 RPO 정의

복구 시간 목표(RTO): 허용되는 최대 가동 중지 시간입니다. 운영을 얼마나 빨리 복구해야 하는지 결정합니다.

복구 지점 목표(RPO): 허용되는 최대 데이터 손실량입니다. 백업 빈도를 결정합니다.

RTO/RPO 요구 사항 권장 백업 전략
RPO: 시간, RTO: 시간 매일 전체 + 1-2시간마다 거래 로그
RPO: 분, RTO: 시간 15~30분마다 매일 전체 + 로그 백업
RPO: 거의 0, RTO: 몇 분 항상 사용 가능한 가용성 그룹 + 빈번한 로그 백업
RPO: 일, RTO: 일 주간 전체 + 일일 차등

10.2 백업 일정 만들기

10.2.1 빈도 권장 사항

프로덕션 데이터베이스의 일반적인 백업 일정:

  • 전체 백업: 주간 (활동이 적은 일요일 밤)
  • 차등 백업: 매일 (매일 밤)
  • 트랜잭션 로그 백업: 영업시간 중 15~30분 간격
  • 복사 전용 백업: 테스트나 개발에 필요한 경우

10.2.2 성능과 보호의 균형

일정을 계획할 때 다음 요소를 고려하세요.

  • 피크 외 시간: 활동이 적은 기간 동안 전체 백업을 실행합니다.
  • 자원 영향: 압축은 I/O를 줄이면서 CPU 사용량을 증가시킵니다.
  • 네트워크 대역폭: 트래픽이 적을 때 네트워크 백업을 예약하세요
  • 백업 창: 영업 시간 전에 백업이 완료되었는지 확인하세요.

10.3 백업 스토리지 모범 사례

10.3.1 온사이트 스토리지 대 오프사이트 스토리지

현장 백업:

  • 더 빠른 백업 및 복원 시간
  • 낮은 cost 고주파 접속을 위해
  • 지역 재해에 취약하다
  • 빠른 복구 시나리오에 가장 적합

오프사이트 백업:

  • 현장별 재해로부터 보호
  • 지리적 중복성 요구 사항 준수
  • 복구 시간이 느림
  • 재해 복구에 필수

10.3.2 클라우드 백업 옵션

클라우드 스토리지의 장점:

  • Azure Blob 저장소: 출신 SQL Server 통합, cost- 드물게 접근하는 경우에 효과적
  • 아마존 S3: 내구성이 뛰어나고 유연한 보관 계층
  • 구글 클라우드 저장소: 경쟁력 있는 가격, 글로벌 가용성

10.3.3 백업 보존 정책

샘플 보존 정책:

  • 7일 동안 매일 백업을 보관하세요
  • 4주 동안 주간 백업을 유지하세요
  • 12개월 동안 월별 백업을 보관하세요
  • 7년간 연간 백업을 보관합니다(규정 준수)

10.4 백업 압축 및 암호화

압축의 이점:

  • 백업 파일 크기를 50-70% 줄입니다.
  • 백업 시간 단축
  • 저장 공간을 낮춥니다.osts
  • 원격 백업을 위한 네트워크 대역폭을 줄입니다.

암호화 모범 사례:

  • 민감한 데이터가 포함된 백업은 항상 암호화하세요
  • AES 256비트 암호화를 사용하세요
  • 보안 인증서 또는 키 관리
  • 문서 암호화 키를 저장하고 별도로 보관하세요.

10.5 백업 테스트 및 확인

10.5.1 정기 복구 테스트

분기별 또는 월별로 복구 절차를 테스트합니다.

  1. 테스트 환경으로 백업 복원
  2. 데이터 무결성 및 완전성 확인
  3. 애플리케이션 기능 확인
  4. 문서 복원 시간(RTO 검증)
  5. 문제를 식별하고 해결합니다.

10.5.2 RESTORE VERIFYONLY 사용

백업 검증 자동화:

-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO

백업이 완료된 후 또는 예정된 유지 관리의 일부로 즉시 검증을 실행합니다.

10.6 백업 자동화 및 모니터링

10.6.1 SQL Server 에이전트 채용

자동 백업 작업 만들기:

  1. AI Physics로 발견의 범위 확장 SQL Server 에이전트외부 링크 SSMS에서
  2. 마우스 오른쪽 단추로 클릭 작업 선택 새 직업
  3. 작업 이름을 지정합니다(예: "매일 전체 백업").
  4. 추가 할 단계 T-SQL 백업 명령 사용
  5. 만들기 일정 실행 시간 동안
  6. 구성 공지사항 성공/실패를 위해

10.6.2 유지 관리 계획

SQL Server 유지 관리 계획은 백업 자동화를 위한 시각적 인터페이스를 제공합니다.

  1. 로 이동 -> 유지 관리 계획
  2. 마우스 오른쪽 버튼으로 클릭하고 선택하십시오. 유지 관리 계획 마법사
  3. 자동화할 백업 작업 선택
  4. 백업 일정 및 옵션 구성
  5. 보고 및 로깅 설정

10.6.3 백업 경고 및 알림

이메일 알림 구성:

  • 데이터베이스 메일 설정 SQL Server
  • 백업 실패에 대한 알림 생성
  • 백업 작업 기록 모니터링
  • 관리자에게 요약 보고서 보내기

10.7 문서화 및 재해 복구 계획

포괄적인 문서 유지:

  • 백업 일정: 언제, 무엇이 백업되나요?
  • 보존 정책: 백업은 얼마나 오랫동안 보관되나요?
  • 저장 위치: 백업이 저장되는 위치
  • 복구 절차: 단계별 복구 지침
  • 연락처 정보 : 주요 인력 및 공급업체
  • 회복 테스트 결과: 문서화된 테스트 결과

11. 많은 SQL Server 백업 시나리오

11.1 매우 큰 데이터베이스(VLDB) 백업

11.1.1 파일 및 파일 그룹 전략

수백 기가바이트를 초과하는 데이터베이스의 경우:

  • 읽기 전용 데이터와 읽기-쓰기 데이터를 서로 다른 파일 그룹으로 분리합니다.
  • 읽기 전용 파일 그룹을 가끔씩 백업합니다.
  • 활성 파일 그룹에 자주 백업을 집중합니다.
  • 세부적인 제어를 위해 파일 수준 백업을 사용하세요

파일 백업 예시:

-- Back up specific file
BACKUP DATABASE LargeDB 
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO

11.1.2 백업 성능 최적화

VLDB 백업 성능 개선:

  • 스트라이프 백업: 여러 파일에 동시에 쓰기
  • 압축 : I/O 및 스토리지 요구 사항 감소
  • 여러 백업 장치: 백업 작업 병렬화
  • 빠른 저장: 백업 스테이징에 SSD 사용
  • 버퍼 수: BUFFERCOUNT 옵션 증가
  • 최대 전송 크기: MAXTRANSFERSIZE 설정 최적화
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
   DISK = 'D:\Backups\LargeDB_2.bak',
   DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
     BUFFERCOUNT = 100,
     MAXTRANSFERSIZE = 4194304;
GO

11.2 Always On 가용성 그룹의 백업

Always On 가용성 그룹은 복제본 전반에 백업 부하를 분산합니다.

  • 백업 기본 설정(기본, 보조 또는 모든 복제본) 구성
  • 1차 작업 부하를 줄이기 위해 백업을 2차 복제본으로 오프로드합니다.
  • 보조 복제본에서 COPY_ONLY 백업 사용
  • 백업 우선 순위 설정 모니터링
-- Check backup preferences
SELECT 
    ag.name AS AvailabilityGroup,
    ar.replica_server_name,
    ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO

11.3 데이터베이스 미러링을 위한 백업

데이터베이스 미러링 시나리오에서:

  • 주 데이터베이스를 정기적으로 백업하세요
  • 트랜잭션 로그 백업은 미러링에 필수적입니다.
  • 미러 데이터베이스가 복원 중 상태입니다(직접 백업할 수 없음)
  • 장애 조치 후 미러 백업을 고려하세요

11.4 Azure Blob Storage에 백업

SQL Server Azure Blob Storage에 직접 백업할 수 있습니다.

  1. Azure 저장소 계정 만들기
  2. 만들기 SQL Server Azure 인증을 위한 자격 증명
  3. 백업 대상에 URL 구문을 사용하세요
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO

-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
     STATS = 10;
GO

11.5 URL에 백업

URL로 백업하는 이점:

  • 무제한 클라우드 저장 용량
  • 지리적 중복은 자동으로 처리됩니다.
  • 종량제 가격 모델
  • 로컬 디스크 공간이 필요하지 않습니다
  • 백업당 최대 64개의 URL 지원(스트라이핑)

11.6 성능을 위한 스트라이프 백업

스트라이프 백업은 더 빠른 I/O를 위해 여러 파일에 데이터를 분할합니다.

-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
   DISK = 'D:\Backups\AW_Stripe2.bak',
   DISK = 'E:\Backups\AW_Stripe3.bak',
   DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO

참고: 복원에는 모든 스트라이프 파일이 필요합니다. 파일이 하나라도 없으면 백업을 사용할 수 없습니다.

12. 문제 해결 SQL Server 백업 문제

12.1 일반적인 백업 오류 및 해결 방법

오류: "운영 체제 오류 5: 액세스가 거부되었습니다."

  • 원인: SQL Server 서비스 계정에 권한이 없습니다.
  • 해결 방법 : 쓰기 권한 부여 SQL Server 백업 폴더의 서비스 계정

오류: "백업 장치를 열 수 없습니다... 장치 오류 또는 장치 오프라인"

  • 원인: 잘못된 경로 또는 사용할 수 없는 네트워크 공유
  • 해결 방법 : 경로가 있는지 확인하고, 네트워크 연결을 확인하고, 충분한 디스크 공간이 있는지 확인하세요.

오류: "디스크 공간이 부족합니다"

  • 원인: 백업을 위한 디스크 공간이 부족합니다
  • 해결 방법 : 디스크 공간 확보, 압축 사용, 다른 위치에 백업

오류: "데이터베이스가 사용 중입니다. 다른 사용자가 데이터베이스를 사용 중입니다."

  • 원인: 복원 중 활성 연결
  • 해결 방법 : WITH REPLACE 옵션을 사용하거나 먼저 사용자 연결을 끊으세요.

12.2 백업 성능 문제

느린 백업을 진단합니다.

  • 다음을 사용하여 디스크 I/O 성능을 확인하세요. Performance Monitor (성능 모니터)
  • STATS 옵션을 사용하여 백업 진행 상황 모니터링
  • 검토 SQL Server 병목 현상에 대한 오류 로그
  • I/O를 줄이기 위해 압축을 고려하세요
  • 여러 디스크에 걸쳐 스트라이프 백업을 사용합니다.

백업 진행 상황을 모니터링하기 위한 쿼리:

SELECT 
    session_id,
    command,
    percent_complete,
    CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
    + CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
    + CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
    CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
    + CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
    + CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
    dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests 
WHERE command LIKE 'BACKUP%';
GO

12.3 공간 및 보관 문제

보관 문제 방지:

  • 보존 정책 구현: 오래된 백업을 자동으로 삭제합니다
  • 압축을 사용하세요: 백업 파일 크기를 50-70% 줄입니다.
  • 더 저렴한 저장소로 보관: 이전 백업을 보관 저장소로 이동
  • 디스크 공간 모니터링: 디스크 공간 부족에 대한 알림 설정
  • 백업 크기 추정: 백업하기 전에 예상 크기를 계산하세요

백업 크기 추정:

-- Estimate full backup size
EXEC sp_spaceused;
GO

12.4 권한 및 액세스 문제

백업에 필요한 권한:

  • 백업 데이터베이스 허가
  • db_backupoperator 역할 멤버십
  • 시스템 관리자 서버 역할(모든 백업 작업에 대해)

백업 권한 부여:

-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO

-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO

12.5 손상된 백업 파일

손상된 백업을 감지하고 처리합니다.

백업 무결성 확인:

RESTORE VERIFYONLY 
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO

향후 백업을 위해 CHECKSUM을 활성화하세요.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO

예방 전략:

  • 백업 중에는 항상 CHECKSUM 옵션을 사용하세요.
  • 백업을 생성한 후 즉시 확인하세요
  • 정기적으로 테스트가 복원됩니다
  • 안정적인 저장소에 백업을 저장하세요
  • 여러 개의 백업 사본을 유지하세요

12.6 손상된 백업 파일에서 데이터 복구

백업 파일이 손상되었지만 여전히 해당 파일에서 데이터를 복구하려는 경우 다음과 같은 타사 도구를 사용할 수 있습니다. DataNumen SQL Recovery, 아래:

  1. Start DataNumen SQL Recovery.
  2. 필터를 "모든 파일(*.*)"로 변경하여 손상된 백업 파일을 소스 파일로 선택합니다.
    복구할 소스 파일로 손상된 백업 파일(*.bak)을 선택합니다.
  3. 필요한 경우 출력 .MDF 파일을 설정합니다.
  4. “Start 복구”를 클릭하고 지침에 따라 데이터베이스를 복구하세요.
  5. 복구 프로세스가 끝나면 새로운 복구 데이터베이스가 나타납니다. SQL Server 여기에는 복구된 모든 데이터가 포함되어 있습니다.

  DataNumen SQL Recovery 손상된 데이터를 복구하려면 SQL Server 백업 파일(*.bak).

13. SQL Server 백업 보안

13.1 백업 파일 보안

백업 파일을 무단 액세스로부터 보호하세요:

  • 파일 시스템 권한: 권한이 있는 관리자만 액세스하도록 제한
  • 네트워크 보안: 네트워크 백업에 보안 프로토콜을 사용하세요
  • 물리적 보안: 백업 미디어를 안전한 위치에 보관하세요
  • 액세스 로깅: 백업 파일 액세스 감사

13.2 암호화 옵션

SQL Server 투명한 백업 암호화를 지원합니다.

암호화를 위한 인증서 생성:

-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO

-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO

암호화된 백업:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
     ENCRYPTION (
         ALGORITHM = AES_256,
         SERVER CERTIFICATE = BackupCertificate
     );
GO

중요: 인증서와 개인 키를 별도로 백업하세요. 이 두 가지가 없으면 암호화된 백업을 복원할 수 없습니다.

-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
    FILE = 'C:\Certificates\BackupCertificate.key',
    ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO

13.3 액세스 제어 및 권한

최소 권한 원칙 구현:

  • 필요한 계정에만 백업 권한 부여
  • 백업 및 복원 작업에 별도의 계정을 사용하세요.
  • 백업에 sa 계정을 사용하지 마세요
  • 정기적으로 백업 권한을 감사합니다.
  • 더 이상 필요하지 않으면 권한을 제거합니다.

13.4 규정 준수 고려 사항

규제 요구 사항 해결:

  • GDPR : 개인 데이터가 포함된 백업을 암호화하고 보존 정책을 구현합니다.
  • HIPAA: 백업에서 PHI 암호화, 액세스 제어, 감사 추적 유지
  • PCI DSS: 카드 소지자 데이터 백업 암호화, 안전한 백업 저장소
  • 삭스: 백업 무결성, 문서 보존 정책 유지

14. 백업 작업 모니터링 및 유지 관리

14.1 백업 기록 추적

SQL Server msdb 데이터베이스에 백업 기록을 저장합니다.

-- View recent backup history
SELECT 
    bks.database_name,
    bks.backup_start_date,
    bks.backup_finish_date,
    CASE bks.type
        WHEN 'D' THEN 'Full'
        WHEN 'I' THEN 'Differential'
        WHEN 'L' THEN 'Log'
        ELSE 'Other'
    END AS backup_type,
    bks.backup_size / 1024 / 1024 AS backup_size_mb,
    bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO

최근 백업이 없는 데이터베이스 찾기:

SELECT 
    d.name AS database_name,
    MAX(bs.backup_finish_date) AS last_backup_date,
    DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4  -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
    OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO

14.2 사용 SQL Server 보고서

SQL Server Management Studio에는 기본 제공 백업 보고서가 포함되어 있습니다.

  1. 개체 탐색기에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다.
  2. 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 보고서 -> 표준 보고서
  3. 사용 가능한 보고서 중에서 선택하세요.
    • 백업 및 복원 이벤트
    • 모든 백업
    • 거래 로그 배송 상태

14.3 타사 모니터링 도구

상업용 모니터링 솔루션:

  • SQL 센트리: 종합적인 모니터링 및 알림
  • Redgate SQL 모니터: 실시간 모니터링 및 진단ostICS
  • SolarWinds 데이터베이스 성능 분석기: 성능 및 백업 모니터링
  • Idera SQL 진단ostic 관리자: 백업 검증 및 알림

14.4 백업 상태 점검

건강 검진 절차를 만듭니다.

-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
    -- Check for databases without recent full backup
    SELECT 
        'Missing Recent Full Backup' AS issue,
        d.name AS database_name,
        ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
    FROM sys.databases d
    LEFT JOIN msdb.dbo.backupset bs 
        ON d.name = bs.database_name AND bs.type = 'D'
    WHERE d.database_id > 4
    GROUP BY d.name
    HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
        AND j.name LIKE '%backup%';
END
GO

15. SQL Server 백업 FAQ

15.1 얼마나 자주 백업해야 합니까? SQL Server?

백업 빈도는 복구 지점 목표(RPO)에 따라 달라집니다.

  • 중요한 프로덕션 데이터베이스: 주간 전체, 일일 차등, 15-30분마다 기록
  • 표준 프로덕션 데이터베이스: 주간 전체, 일일 차등, 1-2시간마다 기록
  • 개발 데이터베이스: 일일 또는 주간 전체
  • 읽기 전용 데이터베이스: 각 데이터 변경 후 전체

15.2 전체 백업과 차등 백업의 차이점은 무엇입니까?

전체 백업은 전체 데이터베이스를 복사하는 반면, 차등 백업은 마지막 전체 백업 이후의 변경 사항만 저장합니다. 차등 백업은 크기가 더 작고 빠르지만 복원을 위해서는 기본 전체 백업이 필요합니다.

15.3 백업이 가능한가요? SQL Server 실행되는 동안?

네! SQL Server 온라인 백업을 지원합니다. 사용자는 백업 작업 중에도 작업을 계속할 수 있습니다. SQL Server 일관성을 유지하기 위해 트랜잭션 로그를 사용하여 동시 수정이 있어도 백업이 유효하도록 보장합니다.

15.4 얼마나 오래 SQL Server 백업을 할까?

백업 기간은 다음 사항에 따라 달라집니다.

  • 데이터베이스 크기: 더 큰 데이터베이스는 더 오래 걸립니다.
  • 백업 유형: 전체 백업이 가장 오래 걸립니다.
  • 압축 : CPU 시간은 늘어나지만 전체 지속 시간은 줄어듭니다.
  • 저장 속도: SSD는 HDD보다 훨씬 빠릅니다.
  • 서버 부하: 활동이 많을수록 백업 속도가 느려집니다.

일반적인 범위: 10GB 데이터베이스의 경우 최신 하드웨어에서 압축을 사용하여 전체 백업을 수행하는 데 5~15분이 걸릴 수 있습니다.

15.5 어디에 보관해야 하나요? SQL Server 백업?

모범 사례: 3-2-1 규칙을 따르세요.

  • 3 귀하의 데이터 사본
  • 2 다양한 저장 유형(예: 디스크 및 테이프/클라우드)
  • 1 사이트 외부로 복사

추천 장소:

  • 빠른 복구를 위한 로컬 디스크
  • 중앙 관리를 위한 네트워크 스토리지
  • 재해 복구를 위한 클라우드 스토리지(Azure, AWS)

15.6 .bak 파일 확장자는 무엇입니까?

.bak 확장자는 기본 파일 확장자입니다. SQL Server 백업 파일. 이는 관례이지 필수 사항이 아닙니다. SQL Server 백업은 어떤 파일 확장자에서도 작동합니다. 하지만 .bak을 사용하면 백업 파일을 쉽게 식별할 수 있으며, 이는 업계 표준 관행입니다.

15.7 백업 방법 SQL Server 네트워크 드라이브로?

네트워크 드라이브에 백업하려면:

  1. 확인 SQL Server 서비스 계정에는 네트워크 공유에 대한 쓰기 권한이 있습니다.
  2. 백업 명령에서 UNC 경로를 사용하세요: \\ServerName\ShareName\BackupFile.bak
  3. 자동 백업을 예약하기 전에 연결 테스트
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO

15.8 압축할 수 있나요? SQL Server 백업?

네! SQL Server 네이티브 백업 압축을 지원합니다(Enterprise Edition 또는 Standard Edition star힘들 SQL Server 2016 SP1). 압축은 일반적으로 백업 크기를 50-70% 줄이고 I/O를 줄여 백업 시간을 단축하는 경우가 많지만 CPU 사용량은 증가합니다.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO

16. 결론

16.1 가지 핵심 사항

유효한 SQL Server 백업 전략은 데이터를 보호하고 비즈니스 연속성을 보장합니다. 다음 필수 사항을 기억하세요.

  • 백업 유형을 이해하세요. 복구 요구 사항에 따라 적절한 백업 유형(전체, 차등, 트랜잭션 로그)을 선택하세요.
  • 적절한 복구 모델을 선택하세요: 중요 데이터에 대한 전체 복구, 개발 데이터베이스에 대한 간단한 복구
  • 백업 일정 구현: 차등 및 로그 백업과 결합된 정기적인 전체 백업은 데이터 손실을 최소화합니다.
  • 테스트 복구 절차: 백업은 성공적으로 복원될 수 있는 경우에만 가치가 있습니다.
  • 자동화 및 모니터링: SQL Server 에이전트, 유지 관리 계획 및 모니터링 도구
  • 안전한 백업: 민감한 데이터를 암호화하고 백업 파일에 대한 액세스를 제어합니다.
  • 사이트 외부에 사본을 저장합니다. 클라우드 또는 원격 스토리지를 사용하여 사이트 전체 재해로부터 보호하세요
  • 모든 것을 문서화: 백업 및 복구 절차에 대한 명확한 문서 유지

16.2 다음 단계 및 리소스

귀하의 SQL Server 백업 구현:

  • 현재 백업 전략을 모범 사례와 비교하여 평가하세요.
  • RTO 및 RPO 요구 사항을 계산하세요
  • 비생산 시스템에서 복원 절차 테스트
  • 정기적으로 백업 일정을 검토하고 업데이트하세요
  • 자동화된 모니터링 및 알림 구현
  • 팀원들에게 복구 절차에 대한 교육을 실시합니다.

추가 자료 :

  • Microsoft SQL Server 문서: 공식 백업 및 복원 지침
  • SQL Server 백업 커뮤니티 포럼: 경험과 솔루션 공유
  • 전문 자격증: Microsoft Certified: Azure Database Administrator Associate

16.3 권장 도구 및 솔루션

다양한 시나리오에 따라:

중소 기업 :

  • 출신 SQL Server 예약된 백업 SQL Server 에이전트 채용
  • 클라우드 통합을 위한 SQLBackupAndFTP
  • Azure 백업용 SQL Server

중기업:

  • SQL Server 유지 관리 계획
  • Redgate SQL Backup Pro와 같은 타사 도구
  • Veeam 백업 SQL Server

대기업:

  • 최대 압축을 위한 Quest LiteSpeed
  • 엔터프라이즈 백업 관리를 위한 Commvault 또는 Veritas NetBackup
  • 상시 접속 가능 그룹 고 가용성

SQL Server 백업은 데이터베이스 관리의 기본입니다. 적절한 계획, 구현 및 테스트를 통해 데이터를 안전하게 보호하고 필요할 때 복구할 수 있습니다.tar오늘 이러한 모범 사례를 구현하여 보안을 강화하세요. SQL Server 데이터베이스.


저자에 관하여

위안 셩 10년 이상의 경력을 가진 선임 데이터베이스 관리자(DBA)입니다. SQL Server 환경 및 기업 데이터베이스 관리 분야에서 그는 금융 서비스, 의료, 제조 분야에서 수백 건의 데이터베이스 복구 시나리오를 성공적으로 해결했습니다.

원은 다음을 전문으로 합니다. SQL Server 데이터베이스 복구, 고가용성 솔루션, 성능 최적화 분야의 전문가입니다. 그는 수 테라바이트 규모의 데이터베이스 관리, Always On Availability Groups 구현, 미션 크리티컬 비즈니스 시스템을 위한 자동 백업 및 복구 전략 개발 등 풍부한 실무 경험을 보유하고 있습니다.

Yuan은 기술적 전문성과 실용적인 접근 방식을 통해 데이터베이스 관리자와 IT 전문가가 복잡한 문제를 해결하는 데 도움이 되는 포괄적인 가이드를 만드는 데 중점을 둡니다. SQL Server 효율적으로 도전합니다. 그는 최신 정보를 유지합니다. SQL Server Microsoft의 새로운 릴리스와 진화하는 데이터베이스 기술을 활용하고, 정기적으로 복구 시나리오를 테스트하여 권장 사항이 실제 모범 사례를 반영하는지 확인합니다.

에 대한 질문이 SQL Server 복구가 필요하거나 추가적인 데이터베이스 문제 해결 지침이 필요하신가요? Yuan이 환영합니다. 피드백과 제안 이러한 기술적 자원을 개선하기 위해.

지금 공유 :