MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터
[MCP/MCSE]백업(Backup) 이란?
아무리 데이터베이스를 잘 만들고 정확한 데이터를 기록하여 관리 한다 하더라도 이를 백업 받지 않으면 중요한 짐을 지고 살얼음 위를 걷는 것과 같습니다. 데이터베이스 관리자가 해야하는 업무 중에서 가장 중요한 것이 백업이 아닌가 생각합니다. 백업을 받지 않은 상태에서 아무리 튜닝을 잘하고 보안을 완벽하게 한다고 한다면 이는 잘못된 행위라고 생각합니다. 우선 백업 정책을 명확히 세워서 정기적으로 백업을 받게 한 후에 다른 작업이 이루어져야 한다고 생각합니다.
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 문을 이용해서 백업을 받는 방법이 있습니다. 물론 세세하게 나눈다면 더 많은 방법이 있을 수 있습니다. 하지만 이 모두 위 두가지 분류에 포함시킬 수 있습니다. 자세한 방법에 대해서는 앞으로 계속해서 살펴보도록 하겠습니다.
자! 이제부터 시작입니다.
추천학원
MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터 MCP MCSE MCSE자격증 MCSE학원 SQL 서버관리 SERVER 시스템관리 MCSE2003 MS자격증 MS학원 마이크로소프트 MCSE교육센터