MS-SQL 에서 데이터베이스는 최소한 다음 2개의 파일을 소유하고 있어야 합니다.
첫 번째는 주 데이터 파일(Primary Data File), 확장명이 .mdf 로 실제 데이터가 저장되는 공간입니다.
두 번째는 트랜잭션 로그 파일(Transaction Log File), 확장명이 .ldf 로 데이터베이스 복구에 사용되는 트랜잭션 로그가 저정되는 공간입니다.
그리고 추가로 가질 수 있는 파일이 있습니다.
보조 데이터 파일(Secondary Data File)로 확장명은 .ndf, 추가적으로 데이터가 저장되는 공간입니다.
그렇다면 보조 데이터 파일은 무엇을 하는가? 입니다.
데이터파일에 저장 시 하나의 파일그룹을 사용할 때 보다 좋은 성능을 낼 수 있기 때문에 보조데이터 파일을 사용합니다.
예를 들어서 자주 접근하는 테이블과, 자주 접근하지 않는 테이블들을 따로 묶어서 파일 그룹에 생성한다고 가정하면, 하나의 디스크를 사용할 때 보다 경쟁이 줄어들게 될 것입니다.
각각의 파일들은 '처음 크기(MB') 의 파일공간을 사용하다가, 데이터가 가득 차게 되면
자동 증가 옵션을 통해서 파일들의 크기를 키워나갑니다.
자동 증가를 사용시 주의해야 합니다. 그 이뉴는 아래와 같습니다.
너무 작은 단위로 크기를 키워나가게 되면 부하가 발생하게 됩니다.
최대 크기를 제한 없음으로 하는 경우 잘못된 INSERT 로 인해서 하드디스크가 꽉 찰 수 있게 됩니다.
데이터 베이스를 생성하는 방법은 msdn 문서를 참고해 주세요.
GO
위 코드를 간략하게 설명드리면,
Sales_dat의 논리적 이름을 가진 주 데이터 파일을 FILENAME 경로에 초기 크기를 10M 최대 크기를 50MB 로 설정합니다.
자동 증가는 5MB 씩 이루어 집니다.
Sales_log의 논리적 이름을 가진 로그 데이터 파일을 FILENAME 경로에 초기 크기를 5MB 최대 크기를 25MB 로 설정합니다.
자동 증가는 5MB 씩 이루어 집니다.
'SQL Server > SQL Server 기타' 카테고리의 다른 글
[MsSQL] sp_readerrorlog 와 xp_readerrorlog 의 차이점 (0) | 2019.03.20 |
---|---|
[MsSQL] 파일그룹이란? (0) | 2019.03.18 |
[MsSQL] 시스템 데이터베이스의 종류와 역할 (2) | 2019.03.17 |
[MsSQL] 쿼리 .. 와 . 의 차이 double dot vs single dot (0) | 2019.03.13 |
[MsSQL] SSMS 포트 입력, SQL Server 기본포트 사용하지 않는경우 접속하기 (1) | 2019.03.13 |