MSSQL 데이터베이스 백업 자동화 환경 구성 방법

데이터베이스를 정해진 시간에 자동으로 백업하고 오래된 백업 데이터는 자동으로 삭제하는 환경을 구축해 두면 가만히 있어도 백업 관리가 되기 때문에 안 할 이유가 없다.

SSMS의 유지 관리 계획이라는 기능으로 데이터베이스 백업 자동화를 구현할 수 있다.

1. SQL Server 에이전트 실행

우선 SQL Server 에이전트가 실행되어 있지 않다면 실행한다. 자동화 작업을 위해 필요하다.

mssql auto backup (19)

2. 유지 관리 계획 마법사 실행

유지 관리 계획 마법사를 실행한다.

mssql auto backup (1)

만약 Agent XP’s 관련 에러가 발생하면서 실행에 실패하면 아래의 쿼리를 실행 후에 다시 실행한다.

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Agent XPs', 1;
RECONFIGURE;

유지 관리 계획 마법사가 나타나면 다음을 누른다.

mssql auto backup (2)

원하는 계획의 이름을 작성하고 다음을 누른다.

mssql auto backup (3)

유지 관리 태스크에 데이터베이스 백업(전체)를 선택하고 다음을 누른다.

mssql auto backup (4)

다음을 눌러 계속 진행한다.

mssql auto backup (5)

3. 데이터베이스 백업(전체) 설정

어떤 데이터베이스를 백업할지 정한다. 모든 데이터베이스를 선택해도 되고 원하는 데이터베이스만 선택할 수도 있다.

나는 TEST_DB 라는 데이터베이스만 선택적으로 백업해보겠다.

mssql auto backup (6)

대상 탭으로 넘어가서 내용을 확인한다. 기본적으로 설정된 Backup 경로가 잡혀있고 백업 파일 확장자 명도 bak으로 되어 있을 것이다.

변경을 원하면 해도 되고 필요하지 않다면 그대로 진행한다. 작성 후에 다음을 눌러 진행한다.

mssql auto backup (7)

텍스트 파일 보고서 쓰기는 체크를 해두는 게 좋다. 다음으로 넘어간다.

mssql auto backup (8)

마침을 누른다.

mssql auto backup (9)

설정한 유지 관리 계획 설정이 성공하는 걸 확인한다.

mssql auto backup (10)

유지 관리 계획을 새로고침하면 생성한 계획이 보인다.

mssql auto backup (11)

4. 백업 데이터 자동 삭제 설정

이어서 백업한 데이터를 자동으로 삭제하는 설정을 걸어둘 것이다. 데이터베이스 백업(전체)을 하면 백업을 할 때마다 백업본이 디스크를 차지하기 때문에 상황에 맞게 주기적으로 삭제해주는 작업이 필요하다.

왼쪽에 도구 상자를 클릭 > 유지 관리 정리 태스크를 더블 클릭하거나 오른쪽 화면으로 드래그&드롭 한다.

mssql auto backup (12)

생성한 유지 관리 정리 태스크를 더블 클릭하고 삭제할 경로와 파일 확장자명을 입력한다. 데이터베이스 백업 파일을 저장하는 경로와 확장자를 입력하면 된다.

태스크 런타임에 파일의 보존 기간에 따라 파일 삭제를 체크하고 몇 일 보다 오래된 파일을 삭제할지 설정하고 확인을 누른다.

mssql auto backup (13)

확인을 눌러 완료한 뒤에 아래 이미지처럼 데이터베이스 백업(전체) -> 유지 관리 정리 태스크 순서로 실행될 수 있도록 방향을 설정한다. 데이터베이스 백업(전체)를 클릭하고 화살표를 드래그&드롭으로 이어주면 되는데 한번 해보면 알 수 있다.

이렇게 순서를 결정해주면 백업을 하고 곧장 조건에 맞는 백업 데이터를 삭제하는 절차로 돌입한다.

mssql auto backup (14)

5. 작업 스케줄러 설정

이제 이 자동화 작업을 실행할 스케줄을 설정해준다.

아래 이미지처럼 달력 모양을 누르면 잡 스케줄을 설정할 수 있는 창이 나타난다. Recurring이 반복해서 실행한다는 의미다. 설정한 종합 결과는 summary에 명확하게 나오기 때문에 헷갈리지 않고 지정할 수 있다.

mssql auto backup (15)

6. 테스트

스케줄러를 걸긴했지만 원하는대로 잘 동작하는지 먼저 수동으로 확인해주는 게 좋다.

생성한 유지 관리 계획을 우클릭 > 실행을 누른다.

mssql auto backup (16)

지정된 백업 경로에 백업본이 생겼는지 확인해본다.

작업을 처음 실행하는 경우엔 오래된 백업본이 삭제되는 것까지는 못 보겠지만 기록 보기를 하면 태스크 시나리오가 정상적으로 실행되었는지 볼 수 있다.

mssql auto backup (17)

두 건이 auto_database_backup 이라는 계획으로 실행된 게 보인다. 클릭하면 작업 세부 정보를 볼 수 있다.

mssql auto backup (18)

이것으로 데이터베이스를 백업하는 방법를 소개를 마친다. 보면 알겠지만 유지 관리 계획이라는 게 데이터베이스 백업 뿐만 아니라 다양한 것을 자동화 할 수 있다. 다른 부분도 응용해서 구현하면 좋을 거 같다.

그리고 이 글에선 데이터베이스(mdf 확장자로 저장되는 파일) 백업만 다루었지만 트랜잭션 로그 (ldf 확장자로 저장되는 파일) 백업도 설정해둘 필요가 있다.

트랜잭션 로그 백업은 아래의 글에서 확인할 수 있다.

댓글 남기기