백업 히스토리 모니터링

jevida(강성욱) 2015.03.31 08:49 Views : 11672

백업 히스토리 모니터링

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

DBA의 역할 중에 가장 중요한 것이 무엇이라 생각하는가? 나는 백업이라 생각한다. 유능한 DBA는 튜닝을 잘하는 것도 중요하지만 장애나 재해 발생시 최대한 데이터 손실을 줄이기 위한 전략적 백업 설계도 매우 중요하다. 다른 포스팅에서 백업 전략 및 백업 종류에 대해서 알아 보았다.

 

그렇다면 백업의 히스토리에 대해서 고민해 본적은 있는가?

백업 히스토리가 어떤 정보를 포함하고 있는지, 왜 히스토리를 모니터링 해야하는지 한 번쯤 의문을 가져 보아야 할 것이다.

 

우선 백업 히스토리를 조회 할 수 있는 스크립트를 살펴 보자. 다음 스크립트를 실행하면 백업 히스토리 정보를 모니터링 할 수 있다.

SELECT

A.DATABASE_NAME, B.PHYSICAL_DEVICE_NAME,

CAST(A.BACKUP_SIZE/1000000 AS VARCHAR(14))+' '+'MB' AS BKSIZE,

CAST (DATEDIFF(SECOND,A.BACKUP_START_DATE , A.BACKUP_FINISH_DATE)AS VARCHAR(4))+' '+'SECONDS' AS RUNTIME,

A.BACKUP_START_DATE,

CASE A.[TYPE]

WHEN 'D' THEN 'FULL BACKUP'

WHEN 'I' THEN 'DIFFERENTIAL BACKUP'

WHEN 'L' THEN 'TRANSACTION LOG BACKUP'

END AS BACKUPTYPE,

A.SERVER_NAME,

A.RECOVERY_MODEL

FROM MSDB.DBO.BACKUPSET AS A

INNER JOIN MSDB.DBO.BACKUPMEDIAFAMILY AS B

ON A.MEDIA_SET_ID = B.MEDIA_SET_ID

WHERE A.DATABASE_NAME = 'SW_TEST'

ORDER BY DATABASE_NAME, BACKUP_START_DATE, BACKUP_FINISH_DATE

 

 

위 그림에서 보듯이 백업 히스토리를 보면 다양한 정보를 확인 할 수 있다. 데이터베이스 이름부터 시작해서 백업파일의 물리적 경로, 백업 사이즈, 백업에 걸린 시간, 유형 등 많은 정보를 포함한다.

 

그렇다면 백업 히스토리 모니터링 정보를 통하여 우리는 무엇을 예측 할 수 있을까? DBA마다 관점은 다르겠지만 나의 경우에는 이렇게 생각한다.

  1. 백업 사이즈 증가량에 따른 디스크 수요량 예측 : 백업 사이즈의 증가량을 일별 산출하여 미래의 백업 보관 주기 및 필요 공간 확보를 예측 할 수 있다.
  2. 백업에 걸린 시간에 따라 디스크 성능 예측 : 디스크 성능 모니터링은 윈도우의 성능 모니터링을 통해서 더 많은 정보를 확인 할 수 있다. 내가 여기에서 말하고자 하는 것은 비슷한 크기의 데이터베이스를 백업하는데 평소보다 오래 걸린다면 디스크 성능에 문제가 있다는 것을 예측할 수 있지 않을까 하는 것이다.
  3. 백업 셋트 확인 : 전체 백업 이후 트랜잭션 로그 백업 순서가 잘 이루어 졌는지 실제 복원을 하지 않아도 백업 셋트를 예측 할 수 있다. 누군가 의도치 않은 트랜잭션로그 백업을 진행하고 그 파일을 삭제 하였다고 생각해 보라. 히스토리를 통하여 누락된 셋트를 예측 할 수 있지 않을까? (백업의 무결성을 뜻하는 것은 아님.)

 

[컬럼 설명]

컬럼명

설명

Name

논리적 백업 이름

User_name

백업을 수행한 사용자

Description

백업에 대한 설명

First_lsn

첫 번째 로그 시퀀스 번호

Last_lsn

마지막 로그 시퀀스 번호

Checkpoint_lsn

체크포인트 시퀀스 번호

Database_creation_date

데이터베이스 생성 날짜

Compatibility_level

호환성 수준

Machine_name

SQL Server의 서버명

Is_password_protected

암호화 유무

Is_readonly

읽기 전용 유무

Is_damaged

백업 손상 유무

 

 

백업에 대한 모니터링도 다양한 방법을 통하여 확인 할 수 있다. 각자의 모니터링 방식은 다르겠지만 중요한건 백업이 잘 이루어지고 지속적인 모니터링이 중요하다는 것을 강조 하려 한다. 


강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp



No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 24013
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12458
1654 SSIS 로그 보관기간 설정 (CleanUp 기간 설정) jevida(강성욱) 2016.01.11 4389
1653 SSIS 패키지 보호 레벨 jevida(강성욱) 2016.01.11 3960
1652 DATABASE의 TABLE 및 COLUMN COMMENT 출력 joe 2015.09.10 7841
» 백업 히스토리 모니터링 jevida(강성욱) 2015.03.31 11672
1650 백업 전략과 Differential Database Backup jevida(강성욱) 2015.03.31 11290
1649 SQL ServerPoint in time recovery jevida(강성욱) 2015.03.31 9078
1648 Striping SQL Server Database Backup jevida(강성욱) 2015.03.31 8725
1647 SQL 서버 감사가 있는 데이터베이스 복원 후 설정 jevida(강성욱) 2015.03.31 12010
1646 SQL ServerBACKUP 암호화 jevida(강성욱) 2015.03.30 8886
1645 SQL ServerErrorLog 관리 jevida(강성욱) 2015.03.30 10708
1644 SSMS 개체 탐색기를 통한 세부 정보 보기 jevida(강성욱) 2015.03.30 11790
1643 SSMS 접속했던 서버 목록 삭제 jevida(강성욱) 2015.03.30 12667
1642 SSMS 빠른 실행 아이콘 등록 하기 jevida(강성욱) 2015.03.30 8063
1641 SSMS 단축키 jevida(강성욱) 2015.03.27 7830
1640 SSMS UI 기능을 이용한 스크립트 생성 [1] jevida(강성욱) 2015.03.27 6937
1639 SSMS 서버 그룹 등록 및 서버 등록 jevida(강성욱) 2015.03.27 8765
1638 SSMS 여러 개체 선택하기 jevida(강성욱) 2015.03.27 5201
1637 SSMS 서버리스트 내보내기 / 가져오기 jevida(강성욱) 2015.03.27 6508
1636 SSMS 자동복구 활성 / 비활성 jevida(강성욱) 2015.03.27 5020
1635 SSMS 시스템 데이터베이스 숨기기 jevida(강성욱) 2015.03.27 4844





XE Login