본문으로 바로가기

SQL Server 에이전트를 활용한 자동 백업

category DB/MsSql 2020. 2. 23. 15:41

운영중인 시스템에서 백업은 선택이 아닌 필수 요소이다.

SQL server에서 원하는 날짜에 백업을 처리하도록 구현하자.

 

본 예제는 SQl Server Management Studio를 활용하여 구현한다.

 

1. 왼쪽 하단 목록에서 에이전트를 시작한다.(기존에 시작을 통한 서비스가 활성화 되어있다면 패스)

SQL Server 에이전트 시작(S)

 

2. 작업 -> 우클릭 -> 새 작업(N)을 클릭하여 작업을 추가한다.

3. 왼쪽 페이지 선택에서 일반 단계를 클릭하여 진행한다.
  이름(N): 백업 스케줄의 명칭
  소유자(O): 백업 스케줄의 사용자

 

4. 페이지 선택 -> 단계 -> 새로만들기 클릭

 

5. 페이지 선택 -> 일반 
   단계 이름 : 백업단계를 등록할 이름을 기재한다. 추후 백업 단계나 방법이 변경됐을 경우 구분하기 위한 이름

   데이터베이스 : 백업을 수행할 데이터베이스 기재
   명령 : 백업을 수행할 스크립트

  명령 스크립트는 아래와 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DECLARE @backupDate DATETIME    
DECLARE @strTodayLong VARCHAR(20)
DECLARE @strTodayHHMM VARCHAR(20)
DECLARE @fileName NVARCHAR(100)
 
SET @backupDate = GETDATE();
 
SET @strTodayLong = '';
SET @strTodayLong = CONVERT(VARCHAR(20), @backupDate, 112);//YYYYMMDD
SET @strTodayHHMM = REPLACE(CONVERT(VARCHAR(20), GETDATE(), 24),':','');//HHMMSS
 
 
SET @fileName = 'C:\대상경로\'
 
+'데이터베이스이름_'+ @strTodayLong +'_'+@strTodayHHMM
+ '.bak'
 
WAITFOR DELAY '00:00:01'
BACKUP DATABASE KPMS To disk = @filename
 
//백업되는 파일이름의 예시 : 데이터베이스이름_20200101_193001.bak
 

 

6. 페이지 선택 -> 고급 -> 확인
   백업 성공, 실패일 경우에 대한 동작방법과 로그파일 위치등을 지정한다.

출력파일의 위치 및 명칭을 등록하면 해당 경로에 log파일 생성

 

7. 확인 클릭 후, 페이지 선택 -> 일정 -> 새로만들기

   백업 일정에 대해 등록한다.

 

8. 등록된 작업 우클릭 -> 작업시작단계를 클릭하여 정상적으로 백업되는지 확인

작업 시작 단계를 누르면 해당 스케줄을 테스트한다.