강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

:: 백업(Backup) 이란? ::
작성자 : 13 김영철
등록날짜 : 2009.01.24 23:05
2,499

아무리 데이터베이스를 잘 만들고 정확한 데이터를 기록하여 관리 한다 하더라도 이를 백업 받지 않으면 중요한 짐을 지고 살얼음 위를 걷는 것과 같습니다. 데이터베이스 관리자가 해야하는 업무 중에서 가장 중요한 것이 백업이 아닌가 생각합니다. 백업을 받지 않은 상태에서 아무리 튜닝을 잘하고 보안을 완벽하게 한다고 한다면 이는 잘못된 행위라고 생각합니다. 우선 백업 정책을 명확히 세워서 정기적으로 백업을 받게 한 후에 다른 작업이 이루어져야 한다고 생각합니다.

SQL 서버에서는 데이터베이스에 문제가 발생하여 복구 할 수 있도록 하기 위해 다양한 백업 기능을 제공하고 있습니다. 이에 대하여 살펴보도록 하겠습니다.

1. 데이터베이스 백업(Backup) 이란?

데이터베이스 백업이란 만일의 경우를 대비하여 데이터베이스의 백업본을 다른 곳에 저장하는 행위를 말합니다. 다른 곳이라고 하는 것은 같은 서버내의 다른 하드디스크 공간일 수도 있으며 전혀 다른 서버의 하드디스크일 수도 있습니다. 또는 하드디스크가 아닌 별도의 백업 장치일 수도 있습니다.

사실 100% 데이터베이스의 안정성이 약속되어 전혀 문제가 발생할 소지가 없다면 굳이 신경을 써 가면서까지 백업을 받을 필요는 없습니다. 하지만 언제든 문제가 발생 할 수 있다는 가능성이 있기 때문에 우리는 정확한 데이터베이스 백어을 수행해야 합니다. 아마 문제가 발생할 수 있는 경우는 다음과 같지 않을까 생각합니다.

o 하드웨어 시스템 고장
o 하드디스크 손상
o SQL Server 시스템 손상
o 운영상의 실수

여기서 운영상의 실수라 함은 사용자가 잘못해서 지워서는 안될 테이블을 전부 삭제해 버렸거나, 잘못해서 서버의 전원을 꺼 버렸거나 하는 등의 인간적인 실수를 이야기 합니다. 아마 이게 가장 빈번하게 발생할 수 있는 장애 요인이 아닐까 생각합니다.

물론 문제 발생에 대비해서 백업이 필요 한 것은 아닙니다. 다른 서버로 데이터베이스를 이동하거나 복사할 떄도 백업기능은 충분히 활용 될 수 있습니다.

2. 백업(Backup) 의 종류

데이터베이스를 백업받은 방법은 백업을 받는 대상에 따라 다음과 같이 5가지로 나누어 볼 수 있습니다.

1) 전체 백업 (Full Backup)

이름에서 예측되듯이 데이터베이스 전체를 통째로 백업받는 것을 전체 백업이라고 합니다. 만일 운영중인 데이터베이스가 그리 크지 않다면 전체 백업이 유용할 것입니다. 하지만 운영중인 데이터베이스가 엄청난 사이즈라면 전체 백업을 받는 경우 너무 많은 시간이 소요되므로 그리 바람직하지 않습니다. 하지만 앞으로 살펴볼 다른 백업 방법을 사용한다 하더라도 처음에 한번은 전체 백업을 받아야 한다는 사실을 기억하시기 바랍니다. 전체 백업은 다른 백업의 기초가 되기 때문입니다.

2) 차등 백업 (Differentiall Backup)

차등 백업이란 전체 백업을 받은 후 변경된 데이터만 백업 받는 방법입니다. 만일 데이터베이스의 사이즈가 500GB라고 가정하고 전채 백업을 한번 받았다고 가정을 하겠습니다. 오늘 하루 동안 이 데이터베이스에 약간의 수정이 있었기에 다시 이 데비터베이스를 백업 받으려고 합니다. 이 때는 전체 백업을 다시 받는 것 보다는 전체 백업 이후에 오늘 수정된 부분만 백업 받으면 되므로 차등 백업을 받으면 됩니다. 이렇게 하면 전체 백업 이후 변경된 부분만 백업을 받게 되므로 빠르게 백업을 받을 수 있습니다. 그래서 만일에 문제가 발생하여 복구를 해야 한다면 전체 백업 받은 것을 우선 Restore 하고 이어서 차등백업 받은 것을 Restore 하면 완벽하게(백업받은 시점까지만)복구가 되기 때문입니다. 그래서 차등 백업은 데이터베이스 사이즈가 큰 경우 유용하게 사용될 수 있습니다.

3) 트랜잭션 로그 백업 (Transaction Log Backup)

이 방법은 데이터베이스를 백업 받는게 아니고 그동안 발생했던 트랜잭션 로그를 백업 받는 방법입니다. 쉽게 이야기 한다면, 만일 1,000명의 고객 데이터가 있는데 이중에 홀길동 고객의 주소가 서울에서 인천으로 변경되었다고 한다면 트랜잭션 로그 백업이란 홍길동 고객의 주소사 서울에서 인천으로 바뀐 그 행위(크랜잭션)를 백업받는 것입니다. 그래서 만일 데이터베이스에 문제가 생겼다면 예전에 백업 받은 것을 Restore 해서 홍길동 고객의 주소가 서울이였던 것까지 복구하고 이어서 서울에서 인천으로 바꾼 행위를 다시 구현함으로써 데이터를 복구하는 것입니다. 이런 이유로 트랜잭션 로그 백업은 특정 시점으로 북구하기위한 방법으로 사용되기도 합니다.

또한 트랜잭션 로그 백업은 로그 파일의 중가를 막아주는 방법으로 사용되기도 합니다. 데이터베이스의 로그 파일은 로그가 쌓이지 않도록 설정되지 않는 한 계속해서 쌓이게 되어 그 사이즈가 엄청 증가하게 됩니다. 이때 트랜잭션로그 백업을 받으면 백업받은 로그가 제거되어 로그 파일의 사이즈를 줄여 줄 수 있게 됩니다. 이 부분은 좀더 많은 설명이 필요하므로 나중에 자세히 다루도록 하겠습니다.

4) 파일 그룹 백업 (File Group Backup)

데이터베이스를 만들 때는 파일 그룹을 설정하여 만들 수 있습니다. 이 때 만들어진 파일 그룹을 대상으로 백업을 받는 방법입니다. 전체 백업을 받기에 너무 많은 시간이 걸릴 경우 스케줄을 걸어 각각의 파일 그룹을 백업 받으면 됩니다.

5) 데이터 파일 백업 (Data File Backup)

파일 그룹안에 포함되어 있는 데이터 파일 하나 하나를 개별적으로 백업 받는 방법입니다. 파일 그룹 백업과 마찬가지로 전체 백업을 받기에 너무 많은 시간이 걸릴 경우 스케줄을 걸어 각각의 데이터 파일을 백업 받으면 됩니다.

3. 백업(Backup) 을 수행하는 방법

백업의 방법은 위에서 나열한 5가지가 있지만 이를 우리가 수행하는 방법은 EM(Enterprise Manager)를 사용한 방법과 T-SQL 문을 이용해서 백업을 받는 방법이 있습니다. 물론 세세하게 나눈다면 더 많은 방법이 있을 수 있습니다. 하지만 이 모두 위 두가지 분류에 포함시킬 수 있습니다. 자세한 방법에 대해서는 앞으로 계속해서 살펴보도록 하겠습니다.

자! 이제부터 시작입니다.

----------------------------------------------------------------------------------------

출처 : http://www.sqlworld.pe.kr 

 
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2685 :: 사용자 정의 함수(User Defined Function) :: 13 김영철 01.24 2680
2684 :: 트리거(Trigger) :: 13 김영철 01.24 2375
열람중 :: 백업(Backup) 이란? :: 13 김영철 01.24 2500
2682 :: 백업 장치 만들기 :: 13 김영철 01.24 2318
2681 :: 전체 백업 받기 :: 13 김영철 01.24 2294
2680 :: 전체 백업으로부터의 복원 :: 13 김영철 01.24 2500
2679 :: 차등 백업 받기와 복원 :: 13 김영철 01.24 2121
2678 :: 데이터베이스 옵션을 이용한 트랜잭션 로그 제어 :: 13 김영철 01.24 2885
2677 :: 트랜잭션 로그 줄이기 테스트 :: 13 김영철 01.24 2304
2676 :: 백업과 복원 정리 :: 13 김영철 01.24 2009
2675 :: SQL Server Agent 서비스 이해 :: 13 김영철 01.24 2820
2674 :: [작업 만들기 마법사] 이용하기 :: 13 김영철 01.24 2725
2673 :: 등록된 작업 살펴보기 :: 13 김영철 01.24 2447
2672 :: 새로운 작업 등록하기 :: 13 김영철 01.24 2057
2671 :: 데이터베이스 유지 관리 계획 마법사 :: 13 김영철 01.24 2354
2670 ::[데이터 가져오기 및 보내기]를 이용한 데이터 변환 :: 13 김영철 01.24 2694
2669 :: 기본적인 웹 페이지 만들기 :: 13 김영철 01.24 2108
2668 :: 템플릿을 이용한 웹 페이지 만들기 :: 13 김영철 01.24 2322
2667 ▒엑셀파일을 ms-sql DB테이블로 전환하기 13 김영철 01.24 3252
2666 :: INFOEMATION_SCHEMA 뷰 이용하기 :: 13 김영철 01.24 2119
2665 :: 인증모드와 로그인 관리 :: 13 김영철 01.24 2404
2664 :: 데이터베이스 사용자 추가 13 김영철 01.24 2242
2663 :: 연결된 서버 만들기 13 김영철 01.24 2933
2662 :: 엑셀 워크시트를 연결된 서버로 만들기 13 김영철 01.24 3115
2661 mssql 함수모음 13 김영철 01.24 3402
2660 :: text타입의 본문 문자열바꾸기 Sql 13 김영철 01.24 2346
2659 오라클과 MSSQL 의 날짜 비교 13 김영철 01.24 3564
2658 MSSQL 백업복구 13 김영철 01.24 3114
2657 [MSSQL]쿼리 분석기 더 잘 사용하기 13 김영철 01.24 3414
2656 SQL Injection 기법 정리(MSSQL) 13 김영철 01.24 4173
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취