Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
  데이터 파일이 커질 때는 무슨일이 일어날까? 
작성일시 : 2008. 1. 18. 10:21 | 분류 : SQL Server/Kernel

출처 : Inside Microsoft SQL Server 2000
Windows Internals 와 비교해서 꽤 해석이 월활하게 되어 있습니다. 강추 드립니다...^______^!
SQL 2005버젼에서 변경된 내용을 동시에 이야기해 드릴 생각입니다.
DB 공부하기 1번째 : 선언적 데이터 무결성(Declarative Data Integrity) (http://maystyle.tistory.com/218)
DB 공부하기 2번째 : 트랜잭션 프로세싱 (http://maystyle.tistory.com/219)
DB 공부하기 3번째 : 데이터 파일과 트랜젝션 로그 파일
1. 왜 DB의 단편화가 일어나는 걸까? (http://maystyle.tistory.com/220)
2. 데이터 파일은 어떻게 쓰여질까? (Checkpoint) (http://maystyle.tistory.com/221)
3. 로그는 어떻게 쓰여질까? (http://maystyle.tistory.com/223)
4. 트랜잭션 로그의 기록과 복구 (http://maystyle.tistory.com/225)
5. 데이터 파일이 커질 때는 무슨일이 일어날까?

데이터베이스는 테이블 및 인덱스와 같은 사용자의 개체들의 영구적 저장소로 사용될 사용자 정의 공간으로 구성되어 있다. 이 공간은 운영체제 파일에 할당된다.

데이터베이스는 논리적 페이지(8K)로 나눠어져 있고, 각 파일 내에서 페이지들은 0 부터 x까지 연속적으로 번호가 매겨져 있다. 상한 값 x에는 데이터 베이스 ID, 파일 ID, 페이지 번호를 지정함으로써 어떤 페이지든 참조 할 수 있다. 만약 데이터가 꽉차서 새로운 공간이 추가 된다면 이는 x+1 페이지가 된다. 그리고 DBCC Shrinkdatabase 및 DBCC  Shrinkfile 명령어를 통해 데이터베이스를 축소 시킬 경우 페이지들은 가장 번호가 높은  페이지 부터 순서대로 제거 되어 항상 연속적으로 저장되도록 한다.

create database 를 통해 새 데이터베이스를 만들 때 고유한 dbid 가 주어지고, 이 데이터베이스에 대한 새 행이 master..sysdatabases  테이블에 삽입 된다.

 
name : 데이터베이스 이름
dbid : 고유한 데이터베이스ID, 데이터베이스가 삭제될 때 다시 사용될 수 있다.
sid : 데이터베이스 생성자 ID
mode : 잠금 모드
status : DB가 읽기 전용인지, 오프라인 상태인지 단일 사용자 모드인지를 알려주는 비트 마스크의 일부
status2 : 역시 데이터베이스 옵션

하지만 대충 DB들을 살펴보기는 Sp_helpdb 가 편하다.

status를 굳이 볼 필요가 없는게. 다 풀어서 알려준다.

|