여유 공간이 크게 변경되지 않도록 tempdb에 대한 올바른 설정

여유 공간이 크게 변경되지 않도록 tempdb에 대한 올바른 설정

2~3일마다 다음과 같은 SCOM 오류가 발생합니다.

컴퓨터의 SQL 인스턴스 MSSQLSERVER에 있는 데이터베이스 tempdb SQL서버여유 공간이 크게 변경되었습니다.

이 문제는 SharePoint 2007 SP2를 설치한 이후부터 발생했으며 한밤중에 발생합니다. 아마도 SharePoint가 검색 인덱싱 작업을 수행하는 동안일 것입니다.

현재 tempdb의 크기는 313.88MB이고 여유 공간은 49.72MB입니다. 경고 임계값이 45%라고 들었습니다. 우리는 SQL Server 2005 64비트를 사용하고 있습니다.

이 문제를 해결하려면 어떻게 해야 하며 tempdb를 다르게 구성해야 합니까? 나는 이것에 대해 우연한 DBA 역할을 하고 있습니다! 감사해요...

답변1

빠른 해결책은 변동을 피할 수 있을 만큼 tempdb를 크게 만드는 것입니다.

  • 임시 DB 크기를 데이터 1GB, 로그 500MB(또는 2GB/1GB)로 조정합니다.
  • SQL Server 중지
  • tempdb LDF 및 LDF 파일 삭제
  • SQL Server 다시 시작

너무 깊게 들어가지 않으면 디스크 공간이 저렴해지고 tempdb가 더 커져도 아무런 해가 없습니다.

데이터가 증가함에 따라 tempdb도 더 많이 사용하게 됩니다.

이 솔루션은 물리적 파일 조각화 및 자동 파일 증가 문제를 방지하는 데 도움이 됩니다.

답변2

tempdb는 다음과 같은 다양한 용도로 사용됩니다.

  • Tempdb 테이블, 테이블 변수
  • 해시 일치
  • 정렬 작업
  • 행 버전
  • DBCC 체크DB
  • SORT_IN_TEMPDB 옵션을 사용하는 경우 인덱스 재구축

여유 공간이 변경될 것으로 예상되므로 그에 따라 tempdb의 크기를 조정하여 경고를 해결하는 데 필요한 최대값의 두 배 이상을 확보할 수 있습니다. 또한 tempdb의 공간이 부족해지는 상황을 원하지 않는 경우를 대비해 자동 증가를 켜두겠습니다.

답변3

데이터베이스에 자동 축소가 켜져 있습니까? 그렇다면 끄십시오. 필요한 최대 크기까지 성장하여 그대로 유지됩니다. 성장하는 금액도 검토하고 싶을 것입니다. 우리가 말하는 크기의 종류와 서버 사양이 무엇인지 알지 못한 채 성장 증가에 대한 구체적인 제안을 제공하고 싶지 않습니다.

관련 정보