Download presentation
Presentation is loading. Please wait.
1
17장. 데이터를 안전하게 보관하자. (백업, 복원, 스냅숏)
뇌를 자극하는 SQL Server 2005 17장. 데이터를 안전하게 보관하자. (백업, 복원, 스냅숏)
2
데이터베이스의 복구 모델 (1) 개요 전체 복구 모델 백업과 관련이 있음
전체 복구 모델, 대량 로그 복구 모델, 단순 복구 모델 전체 복구 모델 DB에 문제가 발생시에 문제가 발생한 시점까지 복구 모든 작업이 로그파일에 기록됨 전체백업, 차등백업, 로그백업이 가능함.
3
데이터베이스의 복구 모델 (2) 대량로그 복구 모델 단순 복구 모델
전체 복구 모델과 거의 동일하지만, 대량 로그 작업은 로그에 전부 기 록하지 않음. 단순 복구 모델 로그파일을 SQL Server가 알아서 비워주므로, 로그백업이 안됨 마지막 백업 받은 데이터만 복구가 가능함
4
데이터베이스 백업의 종류 (1) 전체 백업(Full Backup) 개요 전체 백업을 받아야 하는 경우 전체백업 구문
DB 개체, 시스템 테이블, 데이터 등 DB전체를 백업하는 것 전체복구,대량로그복구,단순복구 모델 모두에서 가능함 전체 백업을 받아야 하는 경우 처음 데이터베이스를 생성했을 때 로그를 강제로 비웠을 때 데이터베이스에 변경이 생겼을 때 (Alter Database 구문 실행 후) 차등백업과 로그백업을 하기 이전에 꼭 한번은 먼저 전체 백업이 수행 전체백업 구문 BACKUP DATABASE 데이터베이스이름 TO 백업할 파일 또는 장치
5
데이터베이스 백업의 종류 (2) 전체 백업 3회시의 개념도
6
데이터베이스 백업의 종류 (3) 구문 형식 차등 백업(Differential Backup) 개요
마지막 백업받은 이후에 변경된 모든 데이터를 백업하는 것 전체 백업을 받은 후에 수행이 가능함 SQL Server 2005에서는 전체차등 백업과 부분차등 백업으로 구 분 구문 형식 BACKUP DATABASE 데이터베이스이름 TO 백업할 파일 또는 장치 WITH DIFFERENTIAL
7
데이터베이스 백업의 종류 (4) 전체 백업 1회, 차등 백업 2회시의 개념도
8
데이터베이스 백업의 종류 (5) 특징 구문 형식 트랜잭션 로그 백업 개요 간단히 로그 백업이라고도 부름
실제 데이터 파일(*.mdf)를 백업하는 것이 아니라 로그파일(*.ldf) 를 백업함 특징 백업속도가 빠르다 복원의 속도는 느리다 대량의 데이터 변경 시에는 바람직하지 않다. 구문 형식 BACKUP LOG 데이터베이스이름 TO 백업할 파일 또는 장치
9
데이터베이스 백업의 종류 (6) 전체 백업 1회, 로그 백업 2회시의 개념도
10
데이터베이스 백업의 종류 (7) 파일 및 파일그룹 백업 부분 백업 (Partial Backup) 부분 차등 백업
대용량의 DB를 운영할 경우에 시간 단축을 위해서 사용 파일 또는 파일그룹 단위로 백업을 받는 것 부분 백업 (Partial Backup) SQL Server 2005 에서 지원하는 새로운 백업 전체 백업과 비슷하지만, 읽기 전용 파일그룹은 백업하지 않음 구문 형식 BACKUP DATABASE 데이터베이스이름 READ_WRITE_FILEGROUPS TO 장치 부분 차등 백업 차등 백업과 비슷하면 읽기 전용 파일그룹은 백업하지 않음
11
백업 시에 사용되는 기능 및 옵션 (1) 미러 백업 복사전용 백업 체크섬(CHECKSUM) 기능
똑 같은 백업을 다른 장치에도 백업해서 만일을 대비 사용 구문 예 BACKUP DATABASE AdventureWorks TO disk = ‘c:\adv.bak’ MIRROR TO disk = ‘d:\adv.bak’ WITH FORMAT 복사전용 백업 다른 백업에 영향을 주지 않고 백업하는 방법 주로 테스트나 현재 DB를 다른 곳에 옮겨야 하는 경우에 사용 구문 형식 BACKUP DATABASE 데이터베이스이름 TO 장치 WITH COPY_ONLY 체크섬(CHECKSUM) 기능 백업 시에 백업 받은 데이터에 이상이 없는지 확인하면서 백업 BACKUP DATABASE 데이터베이스이름 TO 장치 WITH CHECKSUM
12
백업 시에 사용되는 기능 및 옵션 (2) 백업매체 초기화 다중 백업장치의 초기화 비밀번호 지정
기존의 백업된 내용이 모두 삭제됨 구문 형식 BACKUP DATABASE 데이터베이스이름 TO 장치 WITH INIT 다중 백업장치의 초기화 다중백업장치(여러 개의 디스크나 테이프에 동시에 백업하는 것)를 초기 화한 후에 백업을 수행 BACKUP DATABASE 데이터베이스이름 TO 장치 WITH FORMAT 비밀번호 지정 백업시에 비밀번호를 지정 (복원시에도 비밀번호를 입력해야 함) BACKUP DATABASE 데이터베이스이름 TO 장치 WITH PASSWORD= ‘ 비밀번호’
13
백업 시에 사용되는 기능 및 옵션 (3) 백업 중 오류 발생시 계속 여부 진행률 표시 DB에 문제 발생 시 로그 백업
잘못된 체크섬이 발생되어도 계속 백업 구문 형식 BACKUP DATABASE 데이터베이스이름 TO 장치 WITH CONTINUE_AFTER_ERROR 진행률 표시 대용량 백업의 경우에 진행상황을 표시하면 편리 BACKUP DATABASE 데이터베이스이름 TO 장치 WITH STATS DB에 문제 발생 시 로그 백업 DB에 이상이 발생했을 때에도 로그백업을 진행할 수 있음 BACKUP LOG 데이터베이스이름 TO 장치 WITH NO_TRUNCATE
14
데이터베이스 복원 전체 복원 차등 복원 로그 복원 전체 백업 받은 파일을 복원하는 것 구문 형식
RESTORE DATABASE 데이터베이스이름 FROM 백업장치 차등 복원 전체 복원과 동일하며, WITH DEFFERENTIAL 옵션을 사용할 필요없음. 로그 복원 RESTORE LOG 데이터베이스이름 FROM 백업장치
15
데이터베이스 복원의 기능 및 옵션 (1) 복원 완료 및 복원 중 복원 후에 제한된 사용자만 접근 허용
아무 옵션도 주지 않으면 복원완료가 되어서 바로 다른 사용자가 접근 WITH NORECOVERY 옵션을 사용하면 복원이 완료된 것이 아니라는 표시 와 함께 사용자의 접근이 막아짐 구문 형식 RESTORE DATABASE 데이터베이스이름 FROM 백업장치 WITH NORECOVERY 복원 후에 제한된 사용자만 접근 허용 복원 후에 데이터의 확인을 위해서 관리자만이 DB에 접근 가능 WITH RESTRICTED_USER 복원 시 데이터 파일의 이동 복원하게 될 데이터를 다른 곳으로 이동시킬 때 사용 구문 예 WITH MOVE ‘AdventureWorks_data’ TO ‘d:\adv.mdf’ , MOVE ‘AdventureWorks_log’ TO ‘d:\adv.ldf’
16
데이터베이스 복원의 기능 및 옵션 (2) 오류가 발생해도 계속 복원 원래 파일이 있으면 덮어쓰기 정확한 시점까지만 복원하기
오류 발생시에도 중단하지 않고 계속 복원 구문 형식 RESTORE DATABASE 데이터베이스이름 FROM 백업장치 WITH CONTINUE_AFTER_ERROR 원래 파일이 있으면 덮어쓰기 mdf 파일 및 ldf 파일이 존재하는 경우 그냥 덮어 쓴다. WITH REPLACE 정확한 시점까지만 복원하기 시간과 날짜를 지정해서 해당 시간대까지의 데이터를 복원 구문 예 WITH STOPAT = ‘날짜와 시간’
17
데이터베이스 복원의 기능 및 옵션 (3) 파일 온라인 복원
여러 개의 파일그룹으로 DB가 구성시에, 복원중인 파일이 속한 파일그룹 외의 파일그룹은 온라인 상태가 되는 것 SQL Server 2005 Enterprise Edition은 자동으로 해당됨
18
<실습2> 트랜잭션 로그 파일을 비우지 않을때 문제
<실습1> 백업장치 실습 목표 백업을 받기 위한 백업장치의 생성법을 익힌다. 트랜젹션 로그파일을 비우지 않게 계속 사용시 문제점을 파악한다. <실습2> 트랜잭션 로그 파일을 비우지 않을때 문제
19
<실습3> 실제로 사용될 만한 백업, 복원 시나리오
실습 목표 실제 사례와 비슷한 시나리오로 백업 및 복원을 수행해 본다. 시나리오
20
<실습4> 파일 및 파일그룹 백업 실습 목표 파일 및 파일그룹의 백업 및 복원을 수행해 본다. 시나리오
21
<실습5> 중요도가 높은 파일그룹부터 온라인 복원
실습 목표 대용량 데이터베이스일 경우에 중요도가 높은 파일이 속한 파일그룹 부터 복원하는 방법을 익힌다. 미러백업의 방식과 체크섬을 사용하는 방식을 익힌다. <실습6> 미러백업과 체크섬의 사용
22
시스템 데이터베이스의 문제 발생 시 해결 방법 실습 목표 <실습7> master에 문제 발생시 사례
master 데이터베이스에 문제 발생시 SQL Server의 실행은 가능 할 경우 단일 사용자 모드로 접속 : “sqlservr –m” master 데이터베이스를 백업받은 매체로부터 복원 RESTORE DATABASE master FROM 백업장치 또는 파일 실습 목표 master에 문제가 발생되어 시스템이 마비되었을 때, 중요한 DB를 다른 서버에서 계속 서비스하는 방법을 익힌다. <실습7> master에 문제 발생시 사례
23
<실습8> master 가 깨진 상태를 복구
실습 목표 master를 깨지기 이전의 상태로 원상복구해서 시스템을 정상적으로 가동시키는 방법을 익힌다. 복구 명령 예
24
데이터베이스 백업과 복원 계획 수립 운영 매뉴얼 작성 백업 받을 데이터베이스의 결정 데이터베이스의 중요도와 데이터의 갱신 시간
데이터베이스가 많이 사용되는 시간에 따라서 백업되는 시간 백업매체의 보관 서드파티 프로그램은 꼭 검증 후에 사용 적절한 복구 모델의 선택
25
데이터베이스 스냅숏의 소개 (1) 기본 개념 특정한 시점의 데이터베이스 상태를 보관한 것
26
데이터베이스 스냅숏의 소개 (2) 데이터의 변경시 스냅숏의 데이터
27
데이터베이스 스냅숏의 소개 (3) 연도별 스냅숏의 데이터
28
<실습9> 데이터베이스 스냅숏의 생성
실습 목표 데이터베이스 스냅숏을 생성하는 기본적인 방법을 익힌다. 스냅숏이 생성된 개체 탐색기
29
스냅숏의 내부작동 (1)
30
스냅숏의 내부작동 (2)
31
<실습10> 스냅숏의 내부 작동 실습 목표 스냅숏이 내부적으로 작동하는 것을 확인한다. 스냅숏 파일의 속성
32
스냅숏에 Update가 2회 발생시 작동
33
스냅숏의 활용 백업기능의 일부 대용으로 가능함 실습 목표 <실습11> 스냅숏DB를 이용한 복구 사용 구문 예
INSERT INTO HumanResources.EmployeePayHistory SELECT * FROM Adv_sh1.HumanResources.EmployeePayHistory WHERE EmployeeID > 100 <실습11> 스냅숏DB를 이용한 복구
34
<실습12> 스냅숏DB를 이용한 전체 복구
실습 목표 스냅숏 DB를 이용해서 전체 DB를 복구하는 방법을 익힌다. 스냅숏 DB를 백업 대용으로 사용했을 경우에 발생되는 문제점을 확인 해 본다. <실습13> 스냅숏 DB를 백업 대용시 문제점
Similar presentations