sql server ™ 2000: dba 의 역할과 책임 하 성희

55
SQL Server SQL Server 2000: 2000: DBA DBA 의 의의의 의의 의 의의의 의의 의 의의 의 의의

Upload: zizi

Post on 14-Jan-2016

55 views

Category:

Documents


7 download

DESCRIPTION

SQL Server ™ 2000: DBA 의 역할과 책임 하 성희. DBA 의 임무와 책임. 설치 및 환경 설정 보안 운영 업무 적절한 서비스 레벨 제공 시스템 가동 시간 극대화 문서화 작업 설계 및 개발 참여 또는 지원 기타. 설치 및 환경 설정. 목표 : 시스템을 SQL Server 에 최적으로 구성 DBA 가 충분히 참여 문서화 작업 및 활용 재작업 시 시간과 노력 절감 실수 최소화 일관된 환경 구성 (다중 서버 환경). 설치. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

SQL ServerSQL Server™™ 2000: 2000:DBADBA 의 역할과 책임의 역할과 책임

하 성희하 성희

Page 2: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

DBADBA 의 임무와 책임의 임무와 책임 설치 및 환경 설정설치 및 환경 설정 보안보안 운영 업무운영 업무 적절한 서비스 레벨 제공적절한 서비스 레벨 제공 시스템 가동 시간 극대화시스템 가동 시간 극대화 문서화 작업문서화 작업 설계 및 개발 참여 또는 지원설계 및 개발 참여 또는 지원 기타기타

Page 3: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

설치 및 환경 설정설치 및 환경 설정 목표 목표 : : 시스템을 시스템을 SQL ServerSQL Server 에 에

최적으로 구성최적으로 구성 DBADBA 가 충분히 참여가 충분히 참여 문서화 작업 및 활용문서화 작업 및 활용

재작업 시 시간과 노력 절감재작업 시 시간과 노력 절감 실수 최소화실수 최소화 일관된 환경 구성 일관된 환경 구성 (( 다중 서버 환경다중 서버 환경 ))

Page 4: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

설치설치 DBADBA 가 하드웨어가 하드웨어 , , SQL Server SQL Server

이외의 소프트웨어 설치에도 참여이외의 소프트웨어 설치에도 참여 설치 전 계획 수립설치 전 계획 수립 테스트용 시스템에 사전 설치 테스트테스트용 시스템에 사전 설치 테스트 설치 후 설치 과정 문서화설치 후 설치 과정 문서화

Page 5: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

환경 설정환경 설정 하드웨어하드웨어

예예 : : RAIDRAID 소프트웨어소프트웨어 네트워크네트워크 구성 구성 ((Configuration) Configuration) 관리관리

Page 6: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

구성구성 ((Configuration) Configuration) 관리관리 설정 방법설정 방법

sp_configure / RECONFIGUREsp_configure / RECONFIGURE 엔터프라이즈 관리자엔터프라이즈 관리자

옵션 계층옵션 계층 서버 옵션 서버 옵션 < < 데이터베이스 옵션 데이터베이스 옵션 < < SET SET

옵션 옵션 < < 참고참고 ((hint)hint) 설정 내용 및 변경 이력 문서화 요망설정 내용 및 변경 이력 문서화 요망 하드웨어를 충분히 활용하도록 설정하드웨어를 충분히 활용하도록 설정

Page 7: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

보안보안 사용자 관리사용자 관리 시스템 감사 시스템 감사 ((Audit)Audit) 네트워크네트워크

Page 8: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

사용자 관리사용자 관리 사용자 로그인 관리사용자 로그인 관리 데이터베이스 사용자 관리데이터베이스 사용자 관리 권한권한 ((Permission) Permission) 관리관리 역할역할 ((Role) Role) 관리관리

Page 9: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

SQL Server SQL Server 보안 모델보안 모델

SQL Server 에 연결

SQL Server 컴퓨터에 연결

데이터베이스 컨텍스트 설정

작업 권한 검증 ( 데이터베이스 내의 모든 작업에 대해 권한 검증 )

SQL Server 에게 로그인 인증 요청

원하는 데이터베이스로 연결 및 액세스 인가

원하는 작업 수행

Page 10: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

사용자 로그인 관리사용자 로그인 관리 인증 모드인증 모드

Windows Windows 통합 인증 통합 인증 / / 혼합 모드 인증혼합 모드 인증 엔터프라이즈 관리자 엔터프라이즈 관리자 : [: [SQL Server SQL Server 속성속성

(( 구성구성 )] )] [ [ 보안보안 ] ] 탭탭 SQL Server SQL Server 로그인 등록로그인 등록

sp_addlogin / sp_grantloginsp_addlogin / sp_grantlogin 엔터프라이즈 관리자 엔터프라이즈 관리자 : [: [ 보안보안 ] ] [ [ 로그로그

인인 ]] BUILTIN\Administrators BUILTIN\Administrators 그룹의 그룹의

구성원인 구성원인 Windows NT Windows NT 사용자는 사용자는 자동으로 자동으로 sysadmin sysadmin 서버 역할의 서버 역할의 구성원이 됨구성원이 됨

Page 11: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

사용자 로그인 관리사용자 로그인 관리 로그인 삭제로그인 삭제

sp_droploginsp_droplogin sp_revokelogin : Windows NT sp_revokelogin : Windows NT 사용자사용자 //

그룹 로그인 제거그룹 로그인 제거 데이터베이스 사용자 삭제 후 작업데이터베이스 사용자 삭제 후 작업

만들 때와 역순만들 때와 역순

Page 12: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

데이터베이스 사용자 관리데이터베이스 사용자 관리

SQL Server SQL Server 로그인 등록 후 작업로그인 등록 후 작업 등록 방법등록 방법

sp_adduser / sp_grantdbaccesssp_adduser / sp_grantdbaccess 엔터프라이즈 관리자 엔터프라이즈 관리자 : : 데이터베이스 데이터베이스

[[ 사용자사용자 ]]

Page 13: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

권한권한 관리관리 GRANT - GRANT - 권한 부여권한 부여 REVOKE - GRANT REVOKE - GRANT 또는 또는 DENY DENY

취소취소 DENY - DENY - 권한 부여 금지권한 부여 금지

++--REVOKEREVOKEREVOKE [DENY]REVOKE [DENY]

DENYDENY

DENYDENY GRANTGRANT

GRANTGRANT

Page 14: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

역할 관리역할 관리 역할역할

고정 서버 역할 고정 서버 역할 / / 고정 데이터베이스 역할고정 데이터베이스 역할 사용자 정의 데이터베이스 역할사용자 정의 데이터베이스 역할

로그인을 고정 서버 역할의 구성원으로 로그인을 고정 서버 역할의 구성원으로 등록 등록 : : sp_addsrvrolemembersp_addsrvrolemember

데이터베이스 사용자를 고정 데이터베이스 데이터베이스 사용자를 고정 데이터베이스 역할의 구성원으로 등록 역할의 구성원으로 등록 : : sp_addrolemembersp_addrolemember

역할을 만들고역할을 만들고 , , 역할에 권한을 설정하고역할에 권한을 설정하고 , , 역할에 사용자를 추가역할에 사용자를 추가

Page 15: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

운영운영 서비스 관리서비스 관리 백업과 복원백업과 복원 사용자 및 권한 관리사용자 및 권한 관리 시스템 데이터베이스 관리시스템 데이터베이스 관리 사용자 데이터베이스 생성 및 관리사용자 데이터베이스 생성 및 관리 데이터베이스 여유 공간 점검데이터베이스 여유 공간 점검 데이터베이스 일관성 데이터베이스 일관성 ((Consistency) Consistency) 점검점검 인덱스 관리인덱스 관리 통계 관리통계 관리 점검 및 모니터링점검 및 모니터링 장애 대처장애 대처

Page 16: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

서비스 관리서비스 관리 서비스 시작서비스 시작 시작 옵션 지정시작 옵션 지정 서비스 중지서비스 중지

Page 17: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

서비스 시작서비스 시작 필요한 서비스 시작필요한 서비스 시작

SQL Server SQL Server SQL Server Agent SQL Server Agent Distributed Transaction CoordinatorDistributed Transaction Coordinator Microsoft SearchMicrosoft Search Microsoft Message Queuing Microsoft Message Queuing

서비스 로그온 계정 적절하게 설정서비스 로그온 계정 적절하게 설정 시작 유형 설정 시작 유형 설정 (( 필요한 경우필요한 경우 ))

Page 18: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

시작 옵션 지정시작 옵션 지정 서비스 시작 매개 변수 설정서비스 시작 매개 변수 설정

엔터프라이즈 관리자 엔터프라이즈 관리자 : :

[[SQL Server SQL Server 속성속성 (( 구성구성 )] )] [ [ 일반일반 ] ] 탭 탭 [[ 시작 매개 변수시작 매개 변수 ]]

--m : m : 단일 사용자 모드단일 사용자 모드 참고 참고 : : ALTER DATABASE <DBALTER DATABASE <DB 명명 > >

SET SINGLE_USER SET SINGLE_USER WITH ROLLBACKWITH ROLLBACK -Ttrace# : -Ttrace# : 추적 플래그 지정추적 플래그 지정

예 예 : : -T1204, -T3605-T1204, -T3605

Page 19: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

서비스 중지서비스 중지 중지 방법중지 방법

SHUTDOWNSHUTDOWN 쿼리 분석기 또는 쿼리 분석기 또는 osql osql 유틸리티 사용유틸리티 사용 자동 복구 작업량 자동 복구 작업량 ((Automatic recovery) Automatic recovery) 최소화최소화

SQL Server SQL Server 엔터프라이즈 관리자엔터프라이즈 관리자 SQL Server SQL Server 서비스 관리자서비스 관리자 관리 도구의 관리 도구의 [[ 서비스서비스 ]] net stop mssqlservernet stop mssqlserver

일시 중지 일시 중지 중지 중지 SHUTDOWN SHUTDOWN 제외제외

Page 20: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

백업과 복원백업과 복원 백업백업

적절한 백업 전략 수립적절한 백업 전략 수립 주기적인 백업 체계 수립주기적인 백업 체계 수립 주기적인 백업본 원복 테스트주기적인 백업본 원복 테스트

복원 복원 장애 발생 시 복원 시나리오 수립 및 테스트장애 발생 시 복원 시나리오 수립 및 테스트

* * 백업과 복원은 두 번째 세션에서 다루어지므로 세부 내용 생략 백업과 복원은 두 번째 세션에서 다루어지므로 세부 내용 생략 **

Page 21: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

넓은 의미의 백업넓은 의미의 백업 데이터베이스 백업데이터베이스 백업 로그 백업로그 백업 데이터 백업 데이터 백업 (( 텍스트 파일텍스트 파일 )) 스크립트 백업스크립트 백업

데이터베이스 스크립트 백업데이터베이스 스크립트 백업 작업작업 ((Job) Job) 스크립트 백업스크립트 백업 복제 스크립트 백업복제 스크립트 백업

Page 22: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

데이터베이스 스크립트 백업데이터베이스 스크립트 백업 주기적으로 데이터베이스 스크립트 주기적으로 데이터베이스 스크립트

저장저장 작업 방법작업 방법

엔터프라이즈 관리자에서엔터프라이즈 관리자에서[[ 데이터베이스데이터베이스 ] ] 데이터베이스 선택 데이터베이스 선택 [[

도구도구 ] ] [ [SQL SQL 스크립트 생성스크립트 생성 ]]

Page 23: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

작업작업 ((Job) Job) 스크립트 백업스크립트 백업 작업 스크립트 파일로 받아 내기작업 스크립트 파일로 받아 내기

[[ 관리관리 ] ] [ [SQL Server SQL Server 에이전트에이전트 ] ] [[ 작업작업 ] ] 작업 선택 작업 선택 [[ 모든 작업모든 작업 ] ] [[SQL SQL 스크립트 생성스크립트 생성 ]]

작업 목록 파일로 받아 내기작업 목록 파일로 받아 내기 [[ 관리관리 ] ] [ [SQL Server SQL Server 에이전트에이전트 ] ]

[[ 작업작업 ] ] [ [ 목록 내보내기목록 내보내기 ]] 파일 형식 지정 가능파일 형식 지정 가능

msdb msdb 백업백업

Page 24: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

시스템 데이터베이스 관리시스템 데이터베이스 관리 시스템 데이터베이스시스템 데이터베이스

master, tempdb, model, msdbmaster, tempdb, model, msdb 주기적으로 백업주기적으로 백업

mastermaster msdbmsdb model (model ( 수정한 경우수정한 경우 )) disribution (disribution ( 서버를 복제 배포자로 서버를 복제 배포자로

구성한 경우구성한 경우 )) tempdb tempdb 크기 확장 크기 확장 / / tempdb tempdb 이동이동

Page 25: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

사용자 데이터베이스 생성 및 사용자 데이터베이스 생성 및 관리관리 CREATE DATABASECREATE DATABASE

충분한 공간 할당충분한 공간 할당 최대 크기 지정최대 크기 지정

ALTER DATABASEALTER DATABASE 복구 모델 변경복구 모델 변경 공간 추가 및 제거공간 추가 및 제거 크기크기 , , 최대 크기최대 크기 , , 증가량 변경 등등등증가량 변경 등등등

DROP DATABASEDROP DATABASE

Page 26: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

데이터베이스 축소데이터베이스 축소 축소 방법축소 방법

DBCC SHRINKDATABASEDBCC SHRINKDATABASE DBCC SHRINKFILEDBCC SHRINKFILE 데이터베이스 옵션 ‘데이터베이스 옵션 ‘ autoshrink’ autoshrink’ 을 을 truetrue

로 설정로 설정 트랜잭션 로그 축소트랜잭션 로그 축소

로그 파일 크기가 커진 경우로그 파일 크기가 커진 경우 로그 백업 또는 삭제 로그 백업 또는 삭제 DBCC DBCC

SHRINKFILESHRINKFILE

Page 27: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

데이터베이스 이동데이터베이스 이동 이동 방법이동 방법

sp_attach_db & sp_detach_dbsp_attach_db & sp_detach_db BACKUP & RECOVERYBACKUP & RECOVERY 로그 전달 로그 전달 ((Log-shipping)Log-shipping)

테스트 환경 구축 테스트 환경 구축 서버 이전서버 이전

Page 28: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

데이터베이스 여유 공간 점검데이터베이스 여유 공간 점검 주기적으로 주기적으로 DBDB 별로 별로 free spacefree space 를 를

점검하여 충분한 점검하여 충분한 space space 미리 확보미리 확보 성능 측면 성능 측면 & & 장애 예방 측면장애 예방 측면

sp_spaceusedsp_spaceused sysindexes sysindexes 테이블의 부정확성 정정테이블의 부정확성 정정

@updateusage = 'TRUE'@updateusage = 'TRUE' DBCC UPDATEUSAGEDBCC UPDATEUSAGE

Page 29: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

데이터베이스 일관성 점검데이터베이스 일관성 점검

DBCC CHECKDBDBCC CHECKDB 지정한 데이터베이스 내 모든 지정한 데이터베이스 내 모든

오브젝트들의 할당과 구조적 무결성 검사오브젝트들의 할당과 구조적 무결성 검사 DBCC CHECKTABLEDBCC CHECKTABLE

테이블이나 인덱스된 뷰에 대하여 데이테이블이나 인덱스된 뷰에 대하여 데이터터 , , 인덱스인덱스 , , text, ntext, image text, ntext, image 페이지의 무결성 검사페이지의 무결성 검사

Page 30: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

DBCC CHECKDB - DBCC CHECKDB - 점검점검 데이터베이스 무결성 검사데이터베이스 무결성 검사 유의 사항유의 사항

테이블 검사 중 테이블 검사 중 DDL DDL 문 블로킹 발생문 블로킹 발생 사용 시 권장 사항사용 시 권장 사항

시스템 사용이 적을 때 실행시스템 사용이 적을 때 실행 디스크 백업 등의 다른 디스크 디스크 백업 등의 다른 디스크 I/OI/O 를 를

수행하지 않아야 함수행하지 않아야 함 수행에 필요한 수행에 필요한 tempdb tempdb 공간 확인공간 확인

ESTIMATEONLY ESTIMATEONLY 옵션옵션

Page 31: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

DBCC CHECKDB – DBCC CHECKDB – 오류 오류 복구복구 오류 복구오류 복구

REPAIR_ALLOW_DATA_LOSSREPAIR_ALLOW_DATA_LOSS REPAIR_FASTREPAIR_FAST REPAIR_REBUILDREPAIR_REBUILD

작업 방법작업 방법EXEC sp_dboption ‘<DBEXEC sp_dboption ‘<DB 명명 >>', 'single', true', 'single', true

DBCC CHECKDB (‘<DBDBCC CHECKDB (‘<DB 명명 >>', ‘<', ‘< 복구 옵션복구 옵션 >>')')

Page 32: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

인덱스 관리인덱스 관리 인덱스 만들기인덱스 만들기 인덱스 삭제인덱스 삭제 인덱스 조각화 제거인덱스 조각화 제거

Page 33: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

인덱스 만들기인덱스 만들기 효율적인 인덱스 디자인효율적인 인덱스 디자인

성능에 필수성능에 필수 쿼리를 충분히 분석쿼리를 충분히 분석 인덱스 튜닝 마법사 활용인덱스 튜닝 마법사 활용 시스템을 사용하는 동안 지속적인 시스템을 사용하는 동안 지속적인

인덱스 관리인덱스 관리 인덱스 별로 적절한 인덱스 별로 적절한 fillfactor fillfactor 설정설정 CREATE INDEXCREATE INDEX CREATE TABLE / ALTER TABLE CREATE TABLE / ALTER TABLE

(primary key, unique (primary key, unique 제약 조건제약 조건 ))

Page 34: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

인덱스 만들기인덱스 만들기 tempdb tempdb 선택적 사용선택적 사용

SORT_IN_TEMPDBSORT_IN_TEMPDB 복구 모델 복구 모델

대량 로그 복구 대량 로그 복구 ((Bulk_Logged) Bulk_Logged) 사용 고려사용 고려 내림차순 지원 내림차순 지원

SELECT col1, col2 FROM t … SELECT col1, col2 FROM t …

ORDER BY col1 ASC, col2 DESCORDER BY col1 ASC, col2 DESC CREATE INDEX Idx1 on t CREATE INDEX Idx1 on t

(col1 ASC, col2 DESC)(col1 ASC, col2 DESC)

Page 35: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

CREATE INDEXCREATE INDEX 가 쿼리처럼 가 쿼리처럼 실행됨실행됨 예예 테이블테이블 TT 에 인덱스 에 인덱스 i1 on (a,b,c) i1 on (a,b,c) 이 이

존재존재 CREATE INDEX i2 on T (b,c) CREATE INDEX i2 on T (b,c) 전체 전체

테이블 대신 인덱스 테이블 대신 인덱스 i1 i1 을 스캔을 스캔 CREATE INDEX i3 on T (a,b) CREATE INDEX i3 on T (a,b)

인덱스 인덱스 i1 i1 을 스캔 을 스캔 (( 정렬 작업은 정렬 작업은 수행되지 않음수행되지 않음 ))

인덱스 생성 순서 결정 시 고려 인덱스 생성 순서 결정 시 고려

Page 36: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

인덱스 삭제인덱스 삭제 불필요한 인덱스 삭제불필요한 인덱스 삭제 DROP INDEXDROP INDEX ALTER TABLE (primary key, ALTER TABLE (primary key,

unique unique 제약 조건제약 조건 ))

Page 37: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

인덱스 조각화 제거인덱스 조각화 제거 목적 목적 : : 성능 향상성능 향상 조각화 상태 확인조각화 상태 확인

분석 후 재구성 여부 결정분석 후 재구성 여부 결정 인덱스 조각 모으기인덱스 조각 모으기

DBCC INDEXDEFRAGDBCC INDEXDEFRAG 인덱스 재구성인덱스 재구성

DBCC DBREINDEXDBCC DBREINDEX 클러스터된 인덱스 삭제 후 다시 생성 클러스터된 인덱스 삭제 후 다시 생성

CREATE INDEX … DROP_EXISTINGCREATE INDEX … DROP_EXISTING

Page 38: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

조각화 상태 확인조각화 상태 확인DBCC SHOWCONTIGDBCC SHOWCONTIG

테이블의 데이터와 인덱스 조각화 정보 테이블의 데이터와 인덱스 조각화 정보 제공제공

INSERT, UPDATE, DELETE INSERT, UPDATE, DELETE 시 시 조각화 발생조각화 발생

Page 39: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

인덱스 조각 모으기인덱스 조각 모으기DBCC INDEXDEFRAGDBCC INDEXDEFRAG

온라인 인덱스 재구성 온라인 인덱스 재구성 명령 실행 명령 실행 중에도 인덱스 사용 가능중에도 인덱스 사용 가능

성능 영향 적음성능 영향 적음 최소의 데이터 공간 사용최소의 데이터 공간 사용 중지 가능 및 재시작 가능중지 가능 및 재시작 가능 재구성보다 느림재구성보다 느림 로그 백업이 커짐로그 백업이 커짐 조각화가 완전하게 제거되지 않음조각화가 완전하게 제거되지 않음

Page 40: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

온라인 인덱스 재구성온라인 인덱스 재구성 DBCC INDEXDEFRAGDBCC INDEXDEFRAG

인덱스의 잎 레벨인덱스의 잎 레벨 ((leaf level) leaf level) 순서 재정렬순서 재정렬

Fillfactor Fillfactor 재설정재설정

페이지들은 작업전과 동일한 파일에 남아 페이지들은 작업전과 동일한 파일에 남아 있음있음

60%

1 2 3 54 67 1 2 3 54 6 7

Page 41: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

인덱스 재구성인덱스 재구성 DBCC DBREINDEXDBCC DBREINDEX

블로킹 유발 블로킹 유발 가능한 한 서비스 중단 후 가능한 한 서비스 중단 후 수행수행

제약 조건 삭제하고 다시 만들 필요 없음제약 조건 삭제하고 다시 만들 필요 없음 DBCC DBREINDEX (‘<DBCC DBREINDEX (‘< 테이블명테이블명

>’,’’,<>’,’’,<fillfactor>)fillfactor>) 테이블의 모든 인덱스를 다시 작성테이블의 모든 인덱스를 다시 작성

DBCC DBREINDEX (‘<DBCC DBREINDEX (‘< 테이블명테이블명 >’,’<>’,’<인덱스명인덱스명 >’,<>’,<fillfactor>)fillfactor>) 테이블의 해당 인덱스를 다시 작성테이블의 해당 인덱스를 다시 작성

Page 42: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

통계 통계 ((Statistics) Statistics) 관리관리 통계 만들기통계 만들기 통계 조회통계 조회 통계 갱신통계 갱신

Page 43: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

통계 만들기통계 만들기 인덱스가 있는 컬럼에는 통계가 인덱스가 있는 컬럼에는 통계가

자동으로 만들어짐자동으로 만들어짐 데이터베이스 옵션 ‘데이터베이스 옵션 ‘ auto create auto create

statistics’statistics’ 가 가 true true 인덱스 없는 인덱스 없는 컬럼이 조건절이나 조인에 사용되면 컬럼이 조건절이나 조인에 사용되면 자동으로 통계 만들어짐자동으로 통계 만들어짐

수동으로 통계 만들기수동으로 통계 만들기 CREATE STATISTICSCREATE STATISTICS

Page 44: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

통계 조회통계 조회 sp_helpstatssp_helpstats DBCC SHOW_STATISTICSDBCC SHOW_STATISTICS STATS_DATESTATS_DATE

Page 45: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

통계 갱신통계 갱신 UPDATE STATISTICSUPDATE STATISTICS sp_updatestatssp_updatestats 데이터베이스 옵션 ‘데이터베이스 옵션 ‘ auto update auto update

statistics’statistics’ 데이터가 많이 추가되거나 변경되거나 데이터가 많이 추가되거나 변경되거나

제거되는 경우 제거되는 경우 통계 갱신 통계 갱신 쿼리 계획이 부적절한 경우 통계에 쿼리 계획이 부적절한 경우 통계에

문제가 있을 가능성 있음 문제가 있을 가능성 있음 통계 갱신 통계 갱신

Page 46: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

점검 및 모니터링점검 및 모니터링 SQL Server SQL Server 오류 로그오류 로그 프로세스프로세스 성능 모니터링성능 모니터링

Page 47: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

SQL Server SQL Server 오류 로그오류 로그

주기적으로 주기적으로 errorlog errorlog 파일 점검 요망파일 점검 요망 확인 방법확인 방법

xp_readerrorlog xp_readerrorlog 사용사용 EXEC master..xp_readerrorlogEXEC master..xp_readerrorlog EXEC master..xp_readerrorlog 3EXEC master..xp_readerrorlog 3

엔터프라이즈 관리자엔터프라이즈 관리자 [[ 관리관리 ] ] [ [SQL Server SQL Server 로그로그 ]]

텍스트 에디터텍스트 에디터 Program Files\Microsoft SQL Server \Mssql\Program Files\Microsoft SQL Server \Mssql\

Log\ErrorlogLog\Errorlog

Page 48: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

오류 로그 구성 관리오류 로그 구성 관리 오류 로그 파일 수 변경오류 로그 파일 수 변경

엔터프라이즈 관리자 엔터프라이즈 관리자 : [: [ 관리관리 ] ] [ [SQL SQL Server Server 로그로그 ] ] [ [ 구성구성 ]]

레지스트리 키 레지스트리 키 : : HKEY_LOCAL_MACHINE\SOFTWARE\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogsMSSQLServer\NumErrorLogs

오류 로그 파일 오류 로그 파일 CycleCycle sp_cycle_errorlog / DBCC ERRORLOGsp_cycle_errorlog / DBCC ERRORLOG AV AV 발생 등으로 인해 파일 크기가 발생 등으로 인해 파일 크기가

비정상적으로 커진 경우 수행비정상적으로 커진 경우 수행

Page 49: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

프로세스 프로세스 sp_whosp_who

SQL Server SQL Server 프로세스에 대한 정보 제공프로세스에 대한 정보 제공 sp_locksp_lock

잠금 관련 정보 제공잠금 관련 정보 제공 DBCC INPUTBUFFERDBCC INPUTBUFFER

DBCC INPUTBUFFER (<spid>)DBCC INPUTBUFFER (<spid>) 클라이언트에서 마지막으로 보낸 명령문 확인클라이언트에서 마지막으로 보낸 명령문 확인

DBCC OPENTRANDBCC OPENTRAN DBCC OPENTRAN (‘<DBDBCC OPENTRAN (‘<DB 명명 >’)>’)

Page 50: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

프로세스 강제 종료 프로세스 강제 종료 - - KILLKILL 강제 종료 대상강제 종료 대상

운영에 지장을 주는 연결운영에 지장을 주는 연결 ((Connection)Connection) 예예 : : 잠금으로 다른 중요 프로세스 수행을 잠금으로 다른 중요 프로세스 수행을

차단하는 프로세스차단하는 프로세스 Orphaned sessionOrphaned session

KILL KILL 권한권한 sysadmin, processadmin sysadmin, processadmin 역할역할

Processadmin Processadmin 역할에 등록 예역할에 등록 예EXEC sp_addsrvrolemember EXEC sp_addsrvrolemember

‘ ‘operator', 'processadmin'operator', 'processadmin'EXEC sp_helpsrvrolememberEXEC sp_helpsrvrolemember

Page 51: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

성능 모니터링성능 모니터링 시스템 모니터 활용시스템 모니터 활용 엔터프라이즈 관리자 활용엔터프라이즈 관리자 활용 sp_whosp_who

Page 52: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

성능 문제 해결성능 문제 해결 점검점검 // 모니터링 모니터링 문제점 감지 문제점 감지

성능 병목 원인 확인 성능 병목 원인 확인 튜닝 튜닝 효과 효과 분석 분석 문서화 문서화

튜닝튜닝 시스템 튜닝시스템 튜닝 인덱스 튜닝인덱스 튜닝 응용 프로그램 튜닝 지원응용 프로그램 튜닝 지원

Page 53: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

장애 대처 요령장애 대처 요령 당황하지 않는다당황하지 않는다 DBADBA 가 직접 확인한다가 직접 확인한다 .. 성급하게 결론을 내리지 않는다성급하게 결론을 내리지 않는다 신중하게 대처한다신중하게 대처한다

문제를 더 악화시키지 않아야 한다문제를 더 악화시키지 않아야 한다 직접 처리하기 어려운 경우에는 지원을 직접 처리하기 어려운 경우에는 지원을

요청한다요청한다 Sqldiag Sqldiag 유틸리티유틸리티

Page 54: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

기타 관리 요소기타 관리 요소 클러스터링클러스터링 (Clustering)(Clustering) 복제 복제 ((Replication)Replication) 전체 텍스트 검색 엔진 전체 텍스트 검색 엔진 ((Full-Text Full-Text

Search)Search)

* * 각각 별도의 지식을 필요로 함 각각 별도의 지식을 필요로 함 **

Page 55: SQL Server ™  2000: DBA 의 역할과 책임 하 성희

[email protected]@hotmail.com