MS-SQL SERVER 2008 데이타베이스 백업 하기
데이타베이스에 물리적인 하드가 손상되거나 문제가 있을때를 대비하여 데이타베이스를 백업 합니다.
업무를 할땐 일일 업무에 포함하여 수작업으로 DB를 백업해도 되고 다른 물리적 장치에 스케쥴링을 통해서도 데이타베이스를 백업해 놓습니다.
우선 수작업으로 데이타베이스 백업하는 방법에 대해서 하도록 하겠습니다.
지금은 현재 컴퓨터 하드에서 처리 하지만 실제로는 다른 서버 하드에서 처리 해야 합니다.
우선 원하는 경로 폴더 위치는 어디든 상관 없습니다. 아래처럼 전 C드라이브 밑에 백업 DB를 만들었습니다.
--백업을 위해 테스트용 DB를 하나 만들었습니다.
CREATE DATABASE TEST;
USE TEST;
CREATE TABLE backupTable(
number int not null,
name varchar(50),
age int not null,
sex varchar(2),
email varchar(50)
);
--데이터도 한5개만 넣고요
INSERT INTO backupTable values(1, '테스트', 48,'남', 'testbackup@gmail.com')
INSERT INTO backupTable values(2, '이미연', 27,'여', 'aaaaa@gmail.com')
INSERT INTO backupTable values(3, '최소미', 34,'여', 'bbbbb@gmail.com')
INSERT INTO backupTable values(4, '고소미', 22,'여', 'ccccc@gmail.com')
INSERT INTO backupTable values(5, '아이유', 38,'여', 'dddddd@gmail.com')
--확인한번 하고
SELECT TOP 10 *
FROM backupTable;
자그럼 백업을 시작 합시다. 아래 화면에 백업할 데이타 베이스를 선택한후 테스크 -> 백업 버튼을 누릅니다.
다음과 같은 창이 열리면 기존 백업할 위치를 제거 하고 아까 만든 백업 DB폴더를 지정합니다. 제거해도 되고 추가 해도 상관 없습니다. 그다음 백업할 위치를 지정하기 위해 추가 버튼을 누릅니다.
추가버튼을 누르면 다음과 같은 화면이 뜹니다 아까 제가 지정해논 C: 백업DB 폴더 생성한곳에 지정하고 파일이름은 날짜와 시간을 기재하여 저장 합니다.(실제 백업시엔 물리적인 디스크 결함이 있을수 있으므로 다른 백업 서버에 저장하는게 보통입니다.)
확인버튼을 누르면
백업이 완료되었다는 문구가 뜹니다.
그러면 다음과 같이 백업 파일이 생성된걸 확인할수 있습니다.
백업 완료!
MS-SQL SERVER 2008 데이타 베이스 복원 하기
이번엔 데이타 베이스를 복원 하도록 하겠습니다.
우선 데이베이스를 복원하기 위해 테이블을 날려보겠습니다. DELETE 문을 날리고 SELECT 해보면 데이터가 날라간것을 확인 할수 있습니다.
--DB 복원을 위해 실수로 테이블을 날렸다고 생각합시다.
DELETE FROM backupTable;
SELECT TOP 10 *
FROM backupTable;
그다음 복원을 위해 아래 이미지처럼 메뉴를 선택해 주세요.
그러면 백업할당시에 복원 지점이 있습니다. 여러개를 동시에 백업을 했다면 최신 데이타를 기준으로 체크를 한후 복원을 하시면 됩니다.
복원이 완료되었습니다.
잘복구가 되었는지 SELECT문을 날려 봅시다. 마지막으로 확인해 볼까요.
잘 복구가 되었습니다. 만약 현업에서 이런 일이 일어나서 DB를 날렸다가 복구 했다면 등에 식은땀이 나면서 환호를 지를지도 모르겠습니다.
마지막으로 아래와 같이 에러가 나면서 복구가 안되는 분들은
데이터베이스 을(를) 복원하지 못했습니다.
System.Data.SqlClient.SqlError. 데이타베이스가 사용 중이어서 배타적으로 엑세스할 수없습니다.
쿼리 편집기 창을 종료 하시고 웹페지 또는 프로그램에 계속 쿼리문이 연결이 되있는 상황이라면 DB를 종료 하시고 연결된 쿼리도 접속을 끊으신 뒤에 복구를 진행해 보시기 바랍니다.