none
통계 업데이트 중 오류가 발생 하여 문의 드립니다. RRS feed

  • 질문

  • 안녕하세요 문의 사항이 있어서 이렇게 내용 올리게 되었습니다.

    SQL : SQL 2008 STD

    해당 DB : 460GB

    Tempdb : Max size (PRIMARY : 2GB) 할당

    SQL 2008 이며 일주일 단위로 백업 과 통계 업데이트를 진행 하고 있는 상태입니다.

    백업은 정상적으로 처리 되나 통계 업데이트 시 특정 DB TABLE (40GB) 에서 문제가 발생 하는 듯 하여 아래와 같은 로그가 발생합니다.

    "다음 오류로 인해 쿼리 "UPDATE STATISTICS [dbo].[ODS_XX_BX_MAKE]
    WITH FU..."을(를) 실행하지 못했습니다: "'PRIMARY' 파일 그룹이 꽉 찼으므로 데이터베이스 'tempdb'의 개체 'dbo.SORT temporary run
    storage:  140748711788544'에 공간을 할당할 수 없습니다"

     위의 로그로 보았을때 해당 메시지가 발생하고 통계 업데이트가 정상적으로 처리 되지 않는것이 Tempdb 가 공간이 부족하여 발생 하는것인지

    아니면 다른 문제가 있는지 알고 싶습니다.

    만일 Tempdb 가 공간이 부족하여 발생하는 것이라면 해당 상태에서 어느정도의 공간을 Tempdb 에 부여 해야 할지도 알고 싶습니다.

    많은 지도와 충고 부탁드립니다.

    감사합니다.

    2014년 5월 30일 금요일 오전 12:46

답변

  • tempdb 데이터베이스의 크기와 물리적인 배치는 시스템 성능에 영향을 줄 수 있습니다. 예를 들어 tempdb에 대해 정의된 크기가 너무 작으면 사용자가 SQL Server 인스턴스를 다시 시작할 때마다 시스템의 처리 로드 중 일부가 작업을 지원하는 데 필요한 크기로 tempdb를 자동 증가시키기 위해 소모될 수 있습니다. tempdb 데이터와 로그 파일의 크기를 늘려 이 오버헤드를 방지할 수 있습니다. tempdb에 필요한 디스크 공간을 결정하는 방법은 tempdb의 용량 계획을 참조하십시오.

    [참고자료]

    tempdb 성능 최적화

    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    • 답변으로 표시됨 sskim1 2014년 5월 30일 금요일 오전 4:32
    2014년 5월 30일 금요일 오전 3:10
    중재자

모든 응답

  • 해결 방법:   SQL Server 데이터베이스 크기 늘리기

    • SharePoint Foundation에서는 최대 크기에 도달한 데이터베이스에 쓸 수 없습니다. 이벤트 메시지에 이름이 지정된, 꽉 찬 데이터베이스의 최대 크기 설정을 늘리십시오.

      데이터베이스 크기를 늘리려면

      1. SQL Server Management Studio의 개체 탐색기 탐색 창에서 서버 노드를 확장한 다음 데이터베이스 노드를 확장합니다.

      2. 원하는 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 데이터베이스 이름이 이벤트 메시지에 표시됩니다.

      3. 데이터베이스 속성 대화 상자의 탐색 창에서 파일을 클릭합니다.

      4. 데이터베이스 파일 섹션의 자동 증가 열에서 데이터베이스 파일의 줄임표를 클릭합니다.

      5. 자동 증가 변경 대화 상자의 최대 파일 크기 섹션에서 제한된 파일 증가 옵션을 선택한 경우 상자의 최대 파일 크기를 오른쪽으로 움직여 늘립니다. 또는 파일 무제한 증가 옵션을 선택하여 데이터베이스 크기를 제한 없이 늘리도록 구성할 수도 있습니다.

      6. 확인을 클릭하여 변경 내용을 저장합니다.

    [참고자료]

    SQL Server 데이터베이스 꽉 참 - 이벤트 3758

    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    2014년 5월 30일 금요일 오전 1:32
    중재자
  • 안녕하세요 답변 주신 내용은 잘 봤습니다.

    단순히 사이즈 변경을 증가 시키면 되는것은 알고 있으나...

    조금은 원론적인 애기지만.. 현재 DB상태에서 어느정도로 늘렸을때 적절한지 이런 부분을 좀더 알고 싶습니다.

    머랄까. SQL DB 사이즈에 따른 현재 상태에 따른 Tempdb 의 공간 할당이 어느정도가 되야 할지에 대한 어떤 측정 값이라던지

    이런 부분을 알수는 없는지요..

    번거롭더라도 알려주시면 감사하겠습니다.

    2014년 5월 30일 금요일 오전 2:51
  • tempdb 데이터베이스의 크기와 물리적인 배치는 시스템 성능에 영향을 줄 수 있습니다. 예를 들어 tempdb에 대해 정의된 크기가 너무 작으면 사용자가 SQL Server 인스턴스를 다시 시작할 때마다 시스템의 처리 로드 중 일부가 작업을 지원하는 데 필요한 크기로 tempdb를 자동 증가시키기 위해 소모될 수 있습니다. tempdb 데이터와 로그 파일의 크기를 늘려 이 오버헤드를 방지할 수 있습니다. tempdb에 필요한 디스크 공간을 결정하는 방법은 tempdb의 용량 계획을 참조하십시오.

    [참고자료]

    tempdb 성능 최적화

    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    • 답변으로 표시됨 sskim1 2014년 5월 30일 금요일 오전 4:32
    2014년 5월 30일 금요일 오전 3:10
    중재자
  • 답변에 정말 감사드립니다.^^
    2014년 5월 30일 금요일 오전 4:32
  • 흔하지 않은 케이스네요.

    Windows 성능카운터에 보면 SQL Server:Transactions 개체에 "Free Space in tempdb (KB)" 라는 카운터가 있습니다.

    이를 모니터링하거나 혹은 24시간 수집해서 실제 공간 부족이 발생하는지 확인해 보세요.

    아닐 경우 또 다른 문제를 확인해 보셔야 겠습니다.

    그 와는 별개로 40GB 테이블에 WITH FULLSCAN 옵션을 통계 업데이트가 필요한지도 검토해 보셔야겠습니다.

    추측하기로 아마도 유지 관리 계획을 이용해서 통계 업데이트를 걸어두신거라면 디폴트로 사용하지 마시고

    적절히 변경(튜닝)해서 사용하시길 권장합니다. 혹은 쿼리문으로 직접 Agent의 Job을 거는 것도 좋은 방법이구요.

    일주일에 한 번 하는 것으로 충분한지에 대해서도 검토가 필요합니다.

    기타 통계 정보 관리는 고려할 부분이 많은 내용이므로 관련해서 스터디를 하시면 도움이 되실 겁니다.


    Best Regards, Jungsun Kim

    2014년 6월 12일 목요일 오전 2:33
    중재자