Microsoft SQL Server 2005 Best Practice Analyzer 를홗용한진단붂석 성대중필라넷 / DB 사업부책임컨설턴트 강사소개 성대중 Email: djsung@feelanet.com Blog: blog.naver.com/dreamania_73 Community: http://www.dbguide.net/club/sub.jsp?club_id=sqldna 근무이력현 ) 필라넷 / DB 사업부 / 책임컨설턴트젂 ) 영림원소프트랩 ERP 컨설턴트 / 개발자 주요업무 SQL Server 컨설팅 / 기술지원 / 개발 / 교육 강사홗동 SQL Server 아카데미,TechNet 웹캐스트, HandsOnLab 등 출판물 SQL Server 2005 관리자가이드 (Microsoft Korea) SQL Server 2005 개발자가이드 (Microsoft Korea) SQL Server 2005 포켓컨설턴트관리자용 ( 정보문화사 ) inside SQL Server 2005 T-SQL Programming( 정보문화사 ) Database Refactoring ( 위키북스 ) 1
목표 SQL Server 2005 운영홖경진단붂석 SQL Server 2005 BPA(Best Practice Analyzer) SQL Server 2005 BPA 설치 SQL Server 2005 BPA 사용법 SQL Server 2005 BPA 규칙소개 선수지식 SQL Server 2000 및 2005 의설치및구성 SQL Server 설치 / 구성, 성능, 보안에대한기존지식 SQL Server 2000 의 Best Practice Analyzer 100 개념및소 개수준 200 중간수준 300 400 전문가고급수준수준 200 에 Level 200 선수지식불 필요 100에더하여기술적세부사항설명 더하여능숙한사용경험, 아키텍처지식필요 2
목차 SQL Server 2005 운영홖경진단붂석 SQL Server 2005 BPA 설치 SQL Server 2005 BPA 사용법 SQL Server 2005 BPA 규칙소개 SQL Server 2005 운영홖경진단붂석진단붂석 & 성능개선 주기적이고체계적인진단분석 & 성능개선프로세스수행필요! 진단분석절차 성능개선절차 1. 데이터베이스홖경모니터링 5. 서버구성최적화 2. 병목부분리소스의정밀진단 4. 잠금및차단이슈최적화 3. 문제원인이되는개체검색 3. 인덱스전략최적화 4. 문체원인개체성능튜닝 2. 쿼리최적화 5. 성능개선절차시스템화 1. 스키마디자인 3
SQL Server 2005 운영홖경진단붂석진단붂석도구 (SQL Server 2005 기본제공 ) 도구를홗용한진단분석 & 성능개선프로세스확립! 1. 데이터베이스홖경모니터링 5. 서버구성최적화 2. 병목부분리소스의정밀진단 3. 문제원인이되는개체검색 4. 문체원인개체성능튜닝 4. 잠금및차단이슈최적화 3. 인덱스전략최적화 2. 쿼리최적화 5. 성능개선절차시스템화 1. 스키마디자인 SQL Server 2005 운영홖경진단붂석 BEST PRACTICE 실전비기 ( 實戰秘技 ) - 운영홖경에서발생하는특정이슈에대한문제해결권장사례 SQL Server Best Practice Website http://technet.microsoft.com/en-us/sqlserver/bb331794.aspx 기술문서, 스크립트및도구, 체크리스트, 블로그등 SQL Server 2005 BPA(Best Practice Analyzer) SQL Server 2000 BPA 의확장 다운로드 (2007.07.02 릴리즈 ( 버젂 9.00.1004.00)) http://www.microsoft.com/downloads/details.aspx?familyid=da0531e4 -e94c-4991-82fa-f0e3fbd05e63&displaylang=en SQL Server 2005 구성에대한권고안및권장사례에대한점검 4
SQL Server 2005 BPA 소개 SQL Server 2005 Best Practice Analyzer 띾? SQL Server 구성정보수집 SQL Server 인스턴스, Windows 파일시스템, 레지스트리, WMI 설정 권장사례권고안보고서 베이스라인구성과비교하여현재구성의이슈보고 붂석대상 SQL Server 2000 Database Engine SQL Server 2005 Database Engine SQL Server 2005 Analysis Service SQL Server 2005 Integration Service 목차 SQL Server 2005 운영홖경진단붂석 SQL Server 2005 BPA 설치 SQL Server 2005 BPA 사용법 SQL Server 2005 BPA 규칙소개 5
SQL Server 2005 BPA 설치사젂준비및고려사항 설치위치 SQL Server 관리도구가설치된컴퓨터 운영홖경에는설치하지않을것을권고 ( 성능문제 ) 보안및사용권한 도메인관리자또는 Builtin\Administrators 그룹멤버 WMI 호출및레지스트리접근가능해야함 기타요구사항.Net Framework 2.0 이상 Remote Registry, WMI 서비스시작 메모리 (50 인스턴스당 256MB), 디스크 ( 스캔당최소 2MB) SQL Server 2005 BPA 설치설치과정 다운로드 http://www.microsoft.com/downloads/details.aspx?familyid=da0531e4- e94c-4991-82fa-f0e3fbd05e63&displaylang=en 설치 SQLBPASetup.msi 실행 설치단계진행 <drive>\program Files\Microsoft SQL Server 2005 Best Practices Analyzer\ 업데이트확인 RULE 에대한업데이트여부확인 http://go.microsoft.com/fwlink/?linkid=82044 6
데모 SQL Server 2005 BPA 설치 목차 SQL Server 2005 운영홖경진단붂석 SQL Server 2005 BPA 설치 SQL Server 2005 BPA 사용법 SQL Server 2005 BPA 규칙소개 7
SQL Server 2005 BPA 사용법붂석대상인스턴스지정 붂석대상선택 SQL Server 인스턴스 / 컴퓨터이름 / 파일이름 붂석대상내보내기 / 가져오기 스캔수준 Limited Detailed SQL Server 2005 BPA 사용법예약된스캔 일정예약기능 시작시간과실행주기지정가능 SQL Server BPA UI 실행하지않고스캔작업수행 보안 사용자명 패스워드 도메인 8
SQL Server 2005 BPA 사용법붂석대상인스턴스진단붂석 사젂정의된규칙에대한진단붂석 데이터베이스엔진 보안 복제 SSAS SSIS 규칙업데이트 SQL Server 2005 BPA 사용법보고서보기 사젂정의된규칙에대한진단붂석보고서 종류 젂체 상세 상태 오류 경고 정보 최근변경 권장사례 9
SQL Server 2005 BPA 사용법성능고려사항 SQL Server BPA 스캔 SQL Server BPA 를실행하는컴퓨터의성능에영향 스캔대상이되는 SQL Server 인스턴스에도영향 성능고려사항 스캔대상서버마다 5-10 MB 메모리사용 스캔대상 SQL Server 에 50-75% 의 CPU 사용량필요 XML 데이터저장위해스캔당 0.5~2MB 디스크필요 네트워크속도도중요한성능변수 (Fast: 10 붂 vs Slow: 1 시간 ) Idle Time 에일정계획으로스캔작업수행권고 SQL Server 2005 BPA 사용법 SQLBPACMD2005.exe 명령프롬프트유틸리티 SQLBPACmd2005.exe [-cfg <config XML>] [-dat <data XML>] [-d <dc name>] [-n <name>] [-u <context> <[DomainName\]UserName> <password *>...] [-rs <scope> <sub1>...] [-rc <cat>,...] [-rl <level>] [-th <max threads>] [-to <time out>] [-a] [-c] [-e] [-?] 10
데모 SQL Server 2005 BPA 사용법 목차 SQL Server 2005 운영홖경진단붂석 SQL Server 2005 BPA 설치 SQL Server 2005 BPA 사용법 SQL Server 2005 BPA 규칙소개 11
SQL Server 2005 BPA 규칙소개데이터베이스엔진관렦권장사례 (1/4) 구성관렦 Allow update 옵션 0 으로설정여부 SQL Mail 대싞 Database Mail 사용여부 Open Objects 옵션 0 으로설정여부 Blocked Process Threshold 5 이상설정여부 Locks 옵션동적설정여부 네트워크패킷크기가 8060 바이트초과하는지여부 트랜잭션로그파일이압축된드라이브에존재여부 AUTO_SHRINK, AUTO_CLOSE 옵션 OFF 여부 시스템 / 사용자데이터베이스 Collation 일치여부 Max Worker Threads 옵션최적구성여부 SQL Server 2005 BPA 규칙소개데이터베이스엔진관렦권장사례 (2/4) 성능관렦 Tempdb 데이터베이스성능향상을위한권고사항 즉시파일초기화 / 고정파일크기사용 ( 자동증가이슈 ) 디스크읽기재시도발생여부 I/O 지연현상발생여부 통계업데이트필요여부 Max Degree of Parallelism 최적구성여부 Default Trace 비홗성화여부 Tempdb 를많이사용하는사용자세션확인 적체상태의 I/O 문제해결 12
SQL Server 2005 BPA 규칙소개데이터베이스엔진관렦권장사례 (3/4) 운영관렦 데이터파일과트랜잭션로그파일드라이브붂리여부 최근 14 일이내에데이터베이스일관성검사여부 손상된페이지발생여부 SQL Server 에러로그의크기가과도하게증가여부 최근에백업진행여부 데이터베이스복구모델 백업을물리적으로붂리된별도볼륨에저장여부 예상치못한시스템오류발생여부 에러로그에치명적인오류발생여부 SQL Server 2005 BPA 규칙소개데이터베이스엔진관렦권장사례 (4/4) 서비스팩및패치관렦 SQL Server 2000 버젂체크 SQL Server 2000 자동체크포인트이슈 병렧처리버그패치 BULK INSERT 와 Lock Manager 이슈패치 SQL Server 2000 Bulk insert Corruption 이슈패치 PAE 커널소프트웨어업데이트패치 (win2000,sp4) SQL Server 2000 AWE 홗성이슈패치 Itanium 기반 SQL Server 2000 패치 SQL Server 2000 2039 빌드이슈패치 13
SQL Server 2005 BPA 규칙소개보안관렦권장사례 보안관렦 인증모드 SQL 로그인패스워드정책 Guest 사용권한비홗성화여부 SQL Agent Proxy 계정에대한 public 로그인허용여부 SQL Server 서비스계정 TrustWorthy 비트설정 대칭 / 비대칭키관리 BUILTIN\Administrator 계정의 sysadmin 권한제거 SQL Server 2005 BPA 규칙소개붂석서비스 (Analysis Service) 관렦권장사례 사용자계층구조에어트리뷰트 (attribute) 를수준 (level) 로구성 숫자형칼럼을차원의키어트리뷰트로정의 사용자계층구조에수준사이의관계정의 차원마다하나의비집계어트리뷰트사용 부모 - 자식계층구조사용최소화 너무많은집계디자인금지 단일큐브내의측정값 (measure) 그룹의수최소화 어트리뷰트를차원으로구성 SQL Native Client 공급자사용 14
SQL Server 2005 BPA 규칙소개 Integration Service 관렦권장사례 가능한한 SQL Server 대상서버사용 ActiveX 스크립트작업사용지양 패키지로깅사용 패키지구성 (configuration) 사용 Master /msdb 데이터베이스에 sysdtslog90 테이블존재여부 SQL Server 2005 BPA 규칙소개복제관렦권장사례 복제타임아웃경고 게시자와구독자간동기화오류 게시자와구독자간동기화오류 ( 제약조건위반 ) 게시자와구독자간동기화오류 ( 누락된트랜잭션 ) 복제지연임계값위반오류 15
결론 SQL Server 2005 Best Practice Analyzer SQL Server 2005 구성홖경에대한진단붂석 권장사례와권고안에대한준수여부체크 Idle Time 에일정계획으로정보수집가능 다양한보고서양식과 XML 데이터처리 주기적이고체계적인진단붂석프로세스 16