반응형
# 아키텍처
MSSQL 아키텍처
구성요소
- 메모리 Pool
- 스레드
데이터베이스 생성시
- 주(Primary 또는 Main) 데이터 파일(.mdf)
- 트랜잭션 로그 파일(.ldf)
# MSSQL 메모리
프로세스 전체 간 공유되는 메모리
MSSQL (Memory Pool) | 역할 |
Procedure Cache | SQL 및 SQL 실행계획을 공유해서 같은 SQL의 Parsing은 권한 확인만 수행 하도록 만들어서 실행 속도를 높임
|
Log Cache | 변경사항이 발생하게 되면 Redo log file에 Write 되기 이전에 Memory에 먼저 Write 되는 영역 |
# 프로세스
ORACLE (프로세스) | MSSQL (스레드) |
사용자 프로세스 | |
서버 프로세스 | Worker 스레드 |
백그라운드 프로세스 | 백그라운드 스레드 |
MSSQL | 역할 |
ODS (Open data services) |
사용자 프로세스에 장애가 발생하면 프로세스의 리소스 복구를 수행 |
DB cleanup / shrinking | 인스턴스 시작 시 필요한 경우 고장 복구를 수행, 임시 세그먼트, 익스텐트 정리 수행 |
Lazy Writer | 버퍼 캐시의 dirty 버퍼를 데이터 파일에 기록 BWnn이라고 하기도 함 다중 프로세스를 쓰기 때문에 DBWn이라고 하기도 함 |
Database Checkpoint | 체크 포인트가 발생하면 데이터 파일의 헤더를 갱신함으로써 버퍼 캐시와 데이터 파일의 동기화 시점을 관리 |
Log Writer | 로그 버퍼를 관리하여 로그 버퍼를 디스크의 로그 파일에 기록 |
MS DTC (Distributed Transaction Coordinator) |
분산 트랜잭션 문제해결 |
MSSQL
sp_who2
프로세스 상태
* dormant : SQL Server 에서 세션을 다시 설정
* running : 세션에서 일괄 처리를 하나 이상 실행
* background : 세션에서 교착 상태 감지와 같은 백그라운드 작업을 실행
* rollback : 세션에서 트랜잭션 롤백을 진행
* pending : 세션이 작업자 스레드를 사용할 수 있을 때까지 기다림
* runnable : 세션의 작업은 스케줄러의 실행 가능한 큐에 있음
* spinloop : 세션의 작업이 spinlock 을 사용할 수 있을 때까지 기다림
* suspended : 세션이 I/O 와 같은 이벤트가 완료되기를 기다림
반응형
'MSSQL' 카테고리의 다른 글
[ERROR LOG] CImageHelper::Init () Failed load of symbol file with path (0) | 2024.12.26 |
---|---|
데이터 파일 삭제 발생시 CONTINUE_AFTER_ERROR 옵션 (0) | 2024.10.27 |
[MSSQL] INDEX REBUILD 및 조각화 진단 (1) | 2024.09.25 |
MSSQL 로그/데이터 백업/복구 SHIRNK (0) | 2024.05.27 |