SQL Server DBA 체크리스트
· Version : SQL Server
SQL Server를 운영할때 DBA role에서 정기적으로 수행하는 작업이 있을 것이다. 관리자마다 중요하게 생각하는 포인트는 다르겠지만 매일, 매주, 매월 일반적으로 점검해야하는 사항들에 대해서 정리해보려고 한다. 이번 포스트에서는 목록만 나열하고 추후 기회가 된다면 체크리스트 표를 만들어서 관리할 수 있는 방안에 대해서도 다루도록 한다.
[Daily Check list]
· 백업 : 백업 프로세스마다 성공적으로 잘 수행되었는지 확인한다. 백업 단계마다 시간을 확인하여 평소와 다르게 시간이 오래걸렸는지 확인하는 것도 중요하다. (평소와 다르게 오래 걸렸다면 블록커가 있거나 다른 서비스에 영향을 줄 수도 있기 때문이다.)
ü SSMS에서 간단하게 백업 & 복원 하기 : http://sqlmvp.kr/140150000447
ü 백업 전략과 Differential Database Backup : http://sqlmvp.kr/140172210356
ü Striping SQL Server Database Backup : http://sqlmvp.kr/140172045344
ü 백업 확장이벤트로 백업 진행 과정과 소요되는 시간 확인 : http://sqlmvp.kr/220391499627
ü SQL Server 기본 백업 폴더 변경하기 : http://sqlmvp.kr/140172513430
ü 압축 백업 시 Checksum 옵션으로 손상 확인하기 : http://sqlmvp.kr/140205079888
ü 백업 히스토리 모니터링 : http://sqlmvp.kr/140172297682
ü 마지막 백업 시간 및 DBCC 확인 : http://sqlmvp.kr/140199855853
· 야간 배치 처리 : 야간에 실행되는 배치 작업에 대한 프로세스를 검토
· SQL Server 오류 로그 : SQL Server의 예기치 못한 오류나 보안 문제(로그인 성공/실패)를 검토
ü SQL Server Error Log 관리 : http://sqlmvp.kr/140171497815
ü SQL Server의 Error Log는 어디에 저장 될까? : http://sqlmvp.kr/140166321615
ü SQL Server Error Log 보관 주기 설정(스크립트 편) : http://sqlmvp.kr/140186367262
ü Read the End of a Large Error Log (에러로그 끝 부분 읽기) : http://sqlmvp.kr/140173766910
· Windows 이벤트 로그 : 최소한 응용프로그램이벤트 로그를 검사하여 Windows 또는 하드웨어 관련 오류 또는 경고가 있는지 확인 (하드웨어 공급업체 중 일부는 오류가 발생할 것으로 예상되면 윈도우 이벤트 로그에 경고를 기록하므로 사전에 예방할 수 있다.)
· SQL Server Agent job : 실패한 SQL Server Agent 작업을 검토 한다. (SQL Server오류로그에서 Agent 오류 로그도 함께 확인한다.)
ü SQL Server Agent Error log 위치 변경 : http://sqlmvp.kr/220006015843
ü Windows Event Log에 SQL Server Agent Log 기록 : http://sqlmvp.kr/220012972112
ü Verbose SQL Server Agent Logging : http://sqlmvp.kr/220017842626
· HA 또는 DR 로그 : 고가용성 / 재해복구 로그를 확인한다. 사용중인 솔루션 (로그전달, 미러링, 클러스터링, 복제 등)에 따라 검사해야할 항목이 결정된다.
· Performance Logs : 성능 모니터링 정보를 확인하여 기준이 초과되었는지 검토하고 하루 중 느린 부분이 있는지 확인 한다.
ü SQL, IIS, Windows 모니터링 툴(무료) : http://sqlmvp.kr/220973949008
ü SQL Server 사용 성능 카운터 : http://sqlmvp.kr/140209466918
ü 확장 이벤트를 사용한 CPU 고부하 쿼리 추적 : http://sqlmvp.kr/140207447975
ü SQL Server를 활용한 Perfmon 로그 저장 : http://sqlmvp.kr/140164562598
ü DMV를 이용한 SQL Server 성능 카운터 확인 : http://sqlmvp.kr/140178354418
ü DeadLock(교착상태) 모니터 하기 : http://sqlmvp.kr/140164120810
ü DMV를 이용한 SQL Server IO 성능 모니터 스냅샷 만들기 : http://sqlmvp.kr/140178245107
ü 메모리 / CPU 관련 성능 카운터 : http://sqlmvp.kr/140209713721
ü SQL Server Performance Counter Guidance : http://sqlmvp.kr/140194972031
· Security Log : SQL Server 오류로그 또는 타사 솔루션에서 보안 로그를 검토하여 정책 중 위반 사항이 있는지 확인한다.
· 스토리지 : 단기간에 데이터베이스 백업, 배치 프로세스등을 지원할 수 있도록 드라이브에 충분한 여유 공간이 있는지 확인
ü Xp_fixeddrives 세부 정보 확인하기 (디스크 공간 확인) : http://sqlmvp.kr/140197113754
ü 확장 저장 프로시저를 활용한 논리디스크 용량 확인 : http://sqlmvp.kr/220281589209
ü 데이터베이스 여유 공간 확인 : http://sqlmvp.kr/140173687321
· Service Blocker : 전송 및 사용자 대기열을 검사하여 응용프로그램에서 데이터가 제대로 처리되고 있는지 확인
· Corrective Actions : 발견한 문제 및 오류를 기반으로 취약 사항을 보완한다.
· Improvements : 검토 및 분석을 기반으로 환경을 개선할 수 있는 방향을 찾는다.
· Learn something new : 기술에 대한 지식을 향상시키기 위해 새로운 것을 배우기 위해 매일 시간을 할당 한다.
[Weekly / Monthly Check list]
· 백업 검증 : 백업된 파일을 정기적으로 복원하여 전체 프로세스가 정상적으로 작동하는지 확인 한다. 가끔 백업 파일은 정상으로 생성되었지만 가끔 파일이 손상되어복원이 안되는 경우가 있다.
ü SSMS에서 간단하게 백업 & 복원 하기 : http://sqlmvp.kr/140150000447
ü 네트워크 드라이브에 데이터베이스 복원하기 : http://sqlmvp.kr/220289793106
ü MDF를 이용한 데이터베이스 복원 : http://sqlmvp.kr/140172813338
ü SQL Server 2014 향상된 백업 및 복원 : http://sqlmvp.kr/140210996290
ü 트랜잭션로그 파일이 손상된 데이터베이스 복원 하기 : http://sqlmvp.kr/220343607293
ü 손상된 부트페이지 복구하기 : http://sqlmvp.kr/220414698171
ü 트랜잭션 로그 및 LSN을 이용한 삭제된 데이터 복구 : http://sqlmvp.kr/140206499367
ü SQL Server Point in time recovery : http://sqlmvp.kr/140172126806
ü SNAPSHOT을 이용한 SQL Server 복원 : http://sqlmvp.kr/140172677501
· Windows, SQL Server 또는 응용프로그램 업데이트 : 하드웨어, OS, DBMS 또는 응용프로그램 관점에서 SQL Server에 설치해야하는 서비스팩 / 패치를 확인 한다.
ü Update Center for Microsoft SQL Server : https://technet.microsoft.com/en-us/library/ff803383.aspx
· 용량 계획 : 6개월 또는 12개월 또는 18개월과 같이 특정 기간 동안 충분한 저장 공간을 확보할 수 있도록 용량 계획을 검토, 수정한다.
· 단편화 : 데이터베이스의 조각화를 검토하여 백업 SQL Server의 분석을 기반으로 특정 인덱스를 다시 작성해야하는지 확인한다.
ü DMV를 이용한 인덱스 크기 및 조각화 정보 반환 : http://sqlmvp.kr/140192441485
ü 인덱스 유지관리 작업과 SQL Server 쿼리 성능 : http://sqlmvp.kr/220290829197
· 유지보수 : 매주 또는 매월 데이터베이스 유지 관리를 수행한다.
· 보안 : 조직을 떠나거나 직위가 변경된 개인의 불필요한 로그인과 사용자를 제거한다.
· 데이터베이스 축소 : 데이터베이스 또는 트랜잭션 로그가 큰 경우 필요에 따라 파일을 축소하여 디스크 공간을 비운다.
ü DB관리 - DB 축소(SHRINK) : http://sqlmvp.kr/140124850555
ü DB명 수정, 파일 크기 수정 : http://sqlmvp.kr/140124921608
[Automation]
· SQL Server에 영향을 주는 특정 수준의 오류 수준이나 오류 메시지에 대한 경로를 자동으로 통보 받도록 설정한다.
ü Deadlock 감지하여 알림하기 : http://sqlmvp.kr/140195732732
ü 장기 트랜잭션 확인 및 경고 설정 : http://sqlmvp.kr/140201800801
ü TempDB 파일 사이즈 증가 시 경고 받기 : http://sqlmvp.kr/220067810433
ü SQL Server 데이터베이스 메일 계정 수정 : http://sqlmvp.kr/220393615188
· 작업 성공, 실패 또는 완료에 대한 설정 알림