SMALL
1. Full Backup (전체 백업)
- .mdf 파일에 들어있는 모든 데이터를 백업 받음
- Full Backup이 이루어지는 동안에도 트랜잭션이 계속 진행될 수 있는데, 이때 커밋된 트랜잭션에 대한 로그들도 모두 함께 백업 됨
-- Full Backup Query
BACKUP DATABASE TESTDB TO DISK = 'C:\backup\TESTDB.bak'
WITH INIT, NAME = 'TESTDB_bak_221104' --INIT 옵션 : 미디어 헤더만 보존하고 모든 백업 세트를 덮어씀
2. Differential Backup (차등 백업)
- 가장 마지막에 Full Backup 받은 이후의 모든 변경 부분에 대한 백업
- 백업 본을 활용한 복구 시, Full Backup 본 + Differential Backup 본을 모두 백업 소스 파일로 추가해야 정상 복구 가능
-- Differential Backup Query
BACKUP DATABASE TESTDB TO DISK = 'C:\backup\TESTDB_diff.bak'
WITH DIFFERENTIAL, STATS=10, INIT, NAME = 'TESTDB_diff_221104' -- STATS 옵션 : percentage가 완료될 때 마다 메시를 표시해 진행상태 측정
*** MS-SQL 에는 Incremental Backup(증분 백업)이라는 개념 없음
증분백업은 마지막에 받은 Differential Backup 이후의 변경/추가된 Data 백업하는 방식
3. Transaction Log Backup (로그 백업)
- 트랜잭션 로그란 SQL Server에서 실행되는 모든 SQL문을 기록한 로그
- 일단 백업된 트랜잭션 로그는 자동으로 삭제 됨 (ldf 파일 사이즈가 줄어들진 않으나 ldf 내에서 로그가 삭제 되기 때문에 ldf 파일에는 새로운 로그를 기록할 수 있는 빈 공간이 확보됨)
- 트랜잭션 로그는 가지고 있는 최신 Full Backup 혹은 Full Backup + Differential Backup 세트로 부터 복원을 원하는 시점까지의 모든 백업존이 존재하지 않으면 아무 의미가 없음
- 트랜잭션 로그가 온전하다면 Fault가 발생한 Database를 Fault 발생 직전의 시점으로 복원 가능
- 특정한 시점으로 Rollback 등의 미세한 복원이 가능
-- Transaction Log Backup
BACKUP LOG TESTDB TO DISK = 'C:\backup\TESTDB_log.trn'
4. 파일, 파일 그룹 백업
- 대용량 데이터베이스가 장애로 인해 전체 데이터베이스 복원을 해야한다면 소요시간이 길어지므로 파일 그룹이 나눠져 있다면 파일 그룹별로 백업 하여 down-time 축소
- 복원 시 primary 파일 그룹을 가장 먼저 복원하고 그 다음 파일 그룹을 순차적으로 복원 가능
-- File Group Backup
BACKUP DATABASE TESTDB FILEGROUP = 'PRIMARY' TO DISK = 'C:\backup\TESTDB_FILEGROUP.bak'
- MS-SQL 백업 유형 선택하는 법(SSMS)
DB 탐색기 > 태스크 > 백업
페이지 선택 > 일반 > 백업 유형 > 전체/차등/트랜잭션 로그 선택
'Database & Bigdata > MS-SQL' 카테고리의 다른 글
[MS-SQL] 백업 스케줄 설정하기 (유지 관리 계획 마법사) (2) | 2022.11.08 |
---|---|
[MS-SQL] 데이터베이스 복구 모델 / 데이터베이스 복원 (0) | 2022.11.08 |
[MS-SQL] 파일 그룹 이란? (MDF/NDF/LDF) (0) | 2022.11.03 |
[MS-SQL] MS-SQL에서 MySQL(MariaDB) linked Server 연결,조회,삭제 / Linked Server 란 ? / ODBC 드라이버 설치 및 시스템 DSN 추가 / Openquery (1) | 2021.09.15 |
[MS-SQL] System DB란 ? / System DB(시스템 데이터베이스) 이동하기 (0) | 2021.09.15 |
댓글