2016-11-16 9 views
4

ETL 개발자는 ADW에서 주 단위 및 일별 프로세스를 지속적으로 실행하려고 시도했다고보고합니다. 대부분은 예외없이 실행되지만 다음 오류가 발생합니다.'DEFAULT'파일 그룹의 디스크 공간이 부족하여 'TEMPDB'데이터베이스에 대한 새 페이지를 할당 할 수 없습니다.

"파일 그룹 'DEFAULT'의 디스크 공간이 부족하여 'TEMPDB'데이터베이스에 대한 새 페이지를 할당 할 수 없습니다. 파일 그룹에 개체를 추가하거나 파일 그룹에 파일을 추가하거나 파일 그룹의 기존 파일에 대해 자동 증가를 설정하여 필요한 공간을 만드십시오. "DWU 설정과 관련된 TEMPDB 공간에는 제한이 있습니까?

데이터베이스는 100TB (포털 당)로 제한되며 가득 차지는 않습니다.

답변

2

Azure SQL 데이터웨어 하우스는 tempdb에 대해 100 DWU 당 약 399 GB의 공간을 할당합니다. 참고 번호 here.

현재 어떤 DWU를 사용하고 계십니까? DWU를 일시적으로 서비스 목표를 높이거나 tempdb에 덜 종속되도록 작업 리팩터링을 고려하십시오. 일괄 처리가 완료되면 낮추십시오.

또한 작업 부하에서 카티 전 곱, 과도한 정렬, 임시 테이블에 대한 과도한 의존성 등을 검사하여 최적화가 가능한지 확인하는 것이 좋습니다.

+1

DWU를 아무런 영향없이 두 번 부딪 혔습니다. 개발자는 쿼리가 얼마 동안 실행되고 있다고 말했지만 (나는 그럴 수 있다고 믿을 수있다). 쿼리에서 부등 조건이 포함 된 테이블을 자체 조인하려고했습니다. 나는 테이블의 곡식이 내가 그런 유스 케이스에 대해 기대했던 것과 일치하지 않았기 때문에 문제의 근원이 쿼리에서 좋지 않거나 잘못된 로직이라고 생각한다. – Steve

2

코드에 대한 Explain 계획을보고 예상보다 많은 데이터 이동이 있는지 확인하십시오. 하나의 쿼리가 Q 테이블로 더 많이 이동했다면 데이터 이동을 피하기 위해 튜닝 할 수 있습니다. 이는 다른 키로 테이블을 재 설계하는 것을 의미 할 수 있습니다.