tempdb는 사용자가 명시적으로 만든 임시 테이블, 임시 저장 프로시저, 테이블 변수, 커서 등의 임시 개체들과 SQL Server 데이터베이스 엔진에서 만드는 내부 작업 테이블, 스냅숏 격리가 사용되는 경우 업데이트된 레코드의 모든 버전, SORT_IN_TEMPDB를 지정하여 인덱스를 만들거나 다시 작성할 때의 임시 정렬 결과를 보관하기 위한 작업 영역을 제공합니다. tempdb 데이터베이스의 크기와 물리적인 배치가 시스템의 성능에 영향을 미칠 수 있습니다. SQL Server 2005에서는 이전 버전들보다 tempdb를 더 많이 사용하므로 적절한 tempdb 공간에 대한 용량 계획과 tempdb 사용 모니터링, 적절한 크기로의 확장이 필요합니다. SQL Server를 설치하면 기본적으로 tempdb의 주 데이터 파일 크기가 8 MB이고 필요할 때 10%씩 자동 확장되도록 설정됩니다. 처리량이 많은 운영 서버의 경우에는 8MB로는 부족하므로 tempdb가 빈번하게 자동 확장되는 문제가 발생합니다. 그러므로 tempdb 자동 확장으로 인한 오버헤드가 발생하지 않도록 사전에 tempdb를 충분한 크기로 확장해야 합니다. tempdb는 SQL Server가 재시작될 때마다 다시 만들어지기 때문에 만일 tempdb를 사전에 적절한 크기로 확장하지 않으면 SQL Server가 재시작한 이후에 매번 빈번한 자동 확장이 발생하므로, tempdb를 많이 사용하는 시스템의 경우에는 SQL Server를 설치한 이후에 가능한 한 빨리 tempdb 데이터 파일과 로그 파일의 크기를 적절한 크기로 확장시켜 주어야 합니다. 만일 SQL Server를 설치한 다음에 tempdb 확장 작업을 한번도 수행하지 않았다면 현재 tempdb 크기를 확인하고 tempdb 초기 크기보다 커졌다면 현재 크기에 여유공간을 추가하여 수동으로 확장해 줄 것을 권고합니다.
tempdb 성능 최적화
tempdb의 크기를 적절하게 미리 확장시켜 줌으로써 tempdb 자동 확장으로 인한 오버헤드를 제거해야 합니다. 시스템에 따라 차이가 있지만, tempdb 데이터베이스의 물리적인 배치와 데이터베이스 옵션에 대한 일반적인 권고 사항은 다음과 같습니다.
1. tempdb 데이터베이스는 필요할 때 자동으로 확장되도록 설정합니다. 그렇지만 자동 확장이 가능한 한 발생하지 않도록 관리하는 것을 권고합니다.
2. tempdb 데이터베이스 파일의 최초 크기를 그대로 두지 말고 자동 확장이 발생하지 않도록 예상 최대 크기만큼 사전에 확장해 줍니다.
3. 자동 확장이 발생하는 경우에 대비하여, tempdb 데이터베이스 파일이 너무 작은 크기로 확장됨으로써 계속 자동 확장이 발생하지 않도록, 파일 증가량을 적절한 크기로 설정합니다.
4. 성능을 위하여 tempdb 데이터베이스는 빠른 I/O 서브시스템에 배치하며, tempdb는 사용자 데이터베이스와 다른 디스크에 저장하며, 가능하다면 tempdb를 여러 디스크에 스트라이핑하는 것을 권고합니다.
'연구개발 > SQL2005' 카테고리의 다른 글
[SQL2005 Guide] 시스템 데이터베이스 - model (0) | 2009.06.18 |
---|---|
[SQL2005 Guide] 시스템 데이터베이스 - tempdb 용량 (0) | 2009.06.18 |
[SQL2005 Guide] 시스템 데이터베이스 개요 (0) | 2009.06.18 |
[SQL2005 Guide] SQL Server 구성 옵션 - 기타 (0) | 2009.06.18 |
[SQL2005 Guide] SQL Server 구성 옵션 - default trace enabled (0) | 2009.06.18 |