안녕하세요.
이승연 입니다.
얼머전에 sqler 에 주언형님이 DBA가 해야 할 일에 대해 좋은 글을 올려주셨습니다.
아래와 같습니다.
해서 윗 T-SQL을 기초로 해서 살짝 바꾸어 보았습니다.(아래 스크린샷 참고)
해당 DBMS의 전체 DB이름과 어떤 DB가 백업되고 있는지, 그 DB는 언제 만들어졌는지, 백업된 사이즈는 어떻게 되는지, 백업은 얼마나 걸렸는지에 대해서 볼 수 있습니다. 해당 스샷은 백업을 한번도 안적없는 로컬컴퓨터에서 실행한 모습입니다.
이승연 입니다.
얼머전에 sqler 에 주언형님이 DBA가 해야 할 일에 대해 좋은 글을 올려주셨습니다.
아래와 같습니다.
- 매일 작업 (자동화 필수!)
• 백업성공 체크 (로컬백업, 테이프백업)
• SQL Agent Job 수행 성공 체크
• 디스크 여유공간 (시스템 드라이브, 데이터, 로그, tempdb, 백업디스크) 체크
• Database의 Data File 및 Transaction Log File 여유공간 체크
• SQL Server error logs, 윈도우 이벤트 로그 체크
• DBCC (VLF 확인) 체크
• JOB (업무적인 관점 - 예 : 일괄적용, 특정값 적용) 체크
• JOB (기술적인 관점 - 예 : 로그전달, 미러링, 클러스터링) 체크
• 오래 동작하는 쿼리 체크
• 매일매일 SQLER, SQLMVP 사이트 새로운 글 체크 (이것도 자동 ㅋㅋ)
- 주간 작업
• 성능 모니터링 로그 베이스라인 정보 업데이트
• 최근 wait 정보 살펴보기
• 인덱스 및 통계 유지관리 작업
• 디스크 사용 증가율 기록
• 서버 환경 설정 변경 감사 (정책기반)
- 월간 작업
• 재난 복구 상황 관련 문서 업데이트
• 서비스팩/핫픽스 업데이트 계획 검토
• 용량 계획 (디스크 사용경향과 검토)
이 18가지 중에 1번재로 '백업성공 체크' T-SQL을 올려주셨어요. (아래 스크린샷을 참고)
해서 윗 T-SQL을 기초로 해서 살짝 바꾸어 보았습니다.(아래 스크린샷 참고)
해당 DBMS의 전체 DB이름과 어떤 DB가 백업되고 있는지, 그 DB는 언제 만들어졌는지, 백업된 사이즈는 어떻게 되는지, 백업은 얼마나 걸렸는지에 대해서 볼 수 있습니다. 해당 스샷은 백업을 한번도 안적없는 로컬컴퓨터에서 실행한 모습입니다.
SELECT CASE WHEN finishDate IS NOT NULL THEN '백업완료' ELSE '미백업' END AS [백업상태] , B.[NAME] AS [데이터베이스 이름] , A.[NAME] AS [백업파일 이름] , B.recovery_model_desc AS [데이터베이스 복구모델] , A.timesec AS [백업실행시 걸린 시간(초)] , B.create_date AS [데이터베이스 생성일] , A.finishDate AS [백업날짜] , A.backupsize AS [백업파일크기] FROM ( SELECT NAME -- 백업파일이름 , database_name -- 백업대상 데이터베이스 , USER_NAME -- 백업작업을 실행한 사용자 , CONVERT(CHAR(10), backup_finish_date, 120) AS finishDate -- 백업된날짜 , DATEDIFF(ss,backup_start_date, backup_finish_date) AS timesec -- 백업실행시간 , REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, ROUND(backup_size / 1024, 0)), 1), '.00', '') + 'KB' AS backupsize -- 백업사이즈 FROM msdb.dbo.backupset WITH(NOLOCK) WHERE TYPE = 'D' AND backup_finish_date > CONVERT(CHAR(10), GETDATE(), 120) ) AS A RIGHT JOIN ( SELECT NAME -- DBMS내에 존재하는 DB들 , create_date -- DB생성일 , recovery_model_desc -- DB복구모델 FROM MASTER.sys.databases WHERE NAME NOT IN ('model', 'tempdb') ) AS B ON A.database_name = B.NAME
'MSSQL > T-SQL' 카테고리의 다른 글
Auto generate SQL Server database restore scripts (2) | 2010.01.22 |
---|---|
SQL Server 사용자 삭제 실패시 삭제 방법은? (1) | 2009.10.22 |
SQL Server 확장이벤트(XEvent) (2) | 2009.10.15 |
sq_execute & exec() (0) | 2009.10.09 |
난수 및 쿠폰번호를 만들기 (1) | 2009.08.21 |