데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

SQL Server 데이터베이스 백업이 성공적인지 확인하는 방법

·         Version : SQL Server

 

SQL Server 뿐만 아니라 모든 데이터베이스를 운영하는데 있어서 가장 중요한 작업은 백업이다아무리 유능한 DBA라도 백업 파일이 없으면 데이터베이스가 크래쉬 되었을때데이터 손실을 피할  없다.

 많은 DBA들이 백업 실패가 발생하였을때 이메일이벤트 로그 등으로 알림을 받도록 시스템을 구성하여 사용하고 있다하지만 구성 매개변수가 변경되거나 메일 시스템의 오류또는 예상하지 못한 서브 시스템 오류로 인해 수일 또는 수주 동안 실패에 대한 메일을 받지 못하면 어떻게 될까또한 백업을 수행하는데 사용되는 응용프로그램  프로세스의 실패한작업과 관련된 검사가 있지만 이들이 성공적으로 작동하는지 확인해야한다.

 

이러한 문제에 대한 접근방법  하나는 백업이 성공했을때 이벤트를 받는 방법이 있다실패했을때가 아닌 성공했을때 알림이다그러면 알림을 받지 못했을 때에는 문제가 발생한 것으로 간주하고 조사를 하는 것이다.

이번 포스트에서 소개하는 방법은 24시간 동안 전체 백업 프로세스를 모니터링 하여 매일 전날의 백업에 대한 알림이 전송되도록 하는 것이다알림을 받지 못하면 문제가 발생한 것으로 인지하고 해결해야 한다아래 코드는 전체 백업트랜잭션 로그 백업차등 백업을 확인하기 위한 코드이다.  결과셋에서 백업 데이터베이스의 목록이 누락되어있으면 백업이 실패한것으로 간주하여 알림을 발송하도록 설정 하면 된다.

 

전체 데이터베이스 백업 확인

SELECT

       database_name, backup_start_date, type, *

FROM msdb.dbo.backupset

WHERE backup_start_date >= DATEADD(hh, -24, GETDATE())

       AND backup_start_date < GETDATE()

       AND Type = 'D'

ORDER BY backup_set_id DESC

GO

 


트랜잭션 로그 백업 확인

SELECT

       database_name, backup_start_date, type, *

FROM msdb.dbo.backupset

WHERE backup_start_date >= DATEADD(hh, -24, GETDATE())

       AND backup_start_date < GETDATE()

AND Type = 'L'

ORDER BY backup_set_id DESC

GO


 

차등 백업 확인

SELECT

       database_name, backup_start_date, type, *

FROM msdb.dbo.backupset

WHERE backup_start_date >= DATEADD(hh, -24, GETDATE())

       AND backup_start_date < GETDATE()

AND Type = 'I'

ORDER BY backup_set_id DESC

GO

 

파일/파일 그룹 백업 확인

SELECT

       database_name, backup_start_date, type, *

FROM msdb.dbo.backupset

WHERE backup_start_date >= DATEADD(hh, -24, GETDATE())

       AND backup_start_date < GETDATE()

       AND Type = 'F'

ORDER BY backup_set_id DESC

GO

 

 

 한가지 중요한것은 정상적으로 백업이 진행되었더라고 주기적으로 백업 파일을 복원하여 백업 파일에 대한 문제가 없는지 확인을 해야 한다.



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp
No. Subject Author Date Views
2090 SQL Server DBA 체크리스트 jevida(강성욱) 2017.05.31 6891
» SQL Server 데이터베이스 백업이 성공적인지 확인하는 방법 jevida(강성욱) 2017.05.31 3736
2088 트리거가 적용된 메모리 최적화 테이블에서 alter table 실패 jevida(강성욱) 2017.05.31 3251
2087 메모리 최적화 테이블 변수 및 예상 행수 jevida(강성욱) 2017.05.31 2944
2086 백업 파일 복원과 3241 오류 (Microsoft® SQL Server® Backup to Microsoft Azure®Tool 사용) jevida(강성욱) 2017.05.31 3104
2085 In-Memory OLTP를 사용할 때 체크포인트 파일이 너무 많아 지는 이유 jevida(강성욱) 2017.05.31 2675
2084 메모리 최적화 테이블변수와 701 오류 (loop 사용으로 인한 메모리 부족 오류) jevida(강성욱) 2017.05.31 3347
2083 메모리 최적화 테이블에서 해시 인덱스 사용시 버킷 카운트의 중요성 jevida(강성욱) 2017.05.31 2958
2082 인덱스 리빌드시 병렬로 실행계획이 생성되지 않는 이유 jevida(강성욱) 2017.03.13 4938
2081 SQL Server 833오류 (15 Sec Slow IO Detected) jevida(강성욱) 2017.03.13 4343
2080 SQL Server nonpreemptive 모드에서Long Sync IO 오류 jevida(강성욱) 2017.03.13 3110
2079 SQL Server DTC Transaction의 SPID = -2 반환 jevida(강성욱) 2017.03.13 2397
2078 SQL Server Read/Writer 동기화 작동 원리 jevida(강성욱) 2017.03.13 2752
2077 SQL Server가 논리 및 물리 프로세서를 결정하는 방법 jevida(강성욱) 2017.03.13 2865
2076 데이터베이스에서 사용자 삭제 오류 jevida(강성욱) 2017.03.13 2788
2075 SQL Server ODBC Driver 및 Command package Tool 설치 jevida(강성욱) 2017.01.11 4764
2074 SQL Server Install on Linux (Ubuntu – 16.0.4) jevida(강성욱) 2017.01.11 4997
2073 SQL Azure blob storage 백업을 위한 프록시 세팅 jevida(강성욱) 2017.01.11 4200
2072 SQL on Azure 환경에서 SQL 서버 연결 불능 문제(VNET 설정 문제) jevida(강성욱) 2017.01.11 3287
2071 SQL Server 2016 자동 통계 업데이트 임계값 변경 jevida(강성욱) 2017.01.11 4587





XE Login