다음을 통해 공유


웨어하우스 문제 해결

적용 대상:✅ Microsoft Fabric 내 웨어하우스

이 문서에서는 Microsoft Fabric의 웨어하우스에서 발생하는 일반적인 문제를 해결하는 지침을 제공합니다.

일시적인 연결 오류

일시 결함으로도 알려진 일시적인 오류에는 자체적으로 신속히 확인되는 원인이 있습니다. 웨어하우스에 대한 연결이 제대로 작동했지만 사용자 권한, 방화벽 정책 및 네트워크 구성을 변경하지 않고 실패하기 시작하는 경우 고객 지원에 문의하기 전에 다음 단계를 시도합니다.

  1. 웨어하우스의 상태를 확인하고 일시 중지되지 않았는지 확인합니다.
  2. 실패한 명령을 즉시 다시 시도하지 않습니다. 대신 5~10분 동안 기다렸다가 새 연결을 설정한 다음, 명령을 다시 시도합니다. 가끔 Azure 시스템에서 다양한 워크로드의 부하를 더 효율적으로 분산하기 위해 하드웨어를 신속하게 변경합니다. 이러한 재구성 이벤트는 60초 이내에 완료됩니다. 이 재구성 기간 중에는 데이터베이스에 대한 연결에 문제가 있을 수 있습니다. 특정 문제를 해결하기 위해 서비스를 자동으로 다시 시작하는 경우에도 연결이 실패할 수 있습니다.
  3. 다른 애플리케이션 및/또는 다른 컴퓨터에서 연결합니다.

tempdb 공간 문제로 인한 쿼리 실패

tempdb는 쿼리를 실행하는 동안 엔진에서 다양한 임시 스토리지 요구 사항에 사용하는 시스템 데이터베이스입니다. 사용자가 액세스하거나 구성할 수 없습니다. tempdb 공간이 부족하여 쿼리가 실패할 수 있습니다. tempdb 공간 사용량을 줄이려면 다음 단계를 수행합니다.

  1. 모든 테이블에서 적절한 열 통계가 만들어졌는지 확인하려면 통계에 대한 문서를 참조하세요.
  2. 대규모 DML 트랜잭션 후에 모든 테이블 통계가 업데이트되는지 확인합니다.
  3. 복잡한 JOIN, GROUP BY 및 ORDER BY가 있고 큰 결과 집합을 반환할 것으로 예상되는 쿼리는 실행 시 더 많은 tempdb 공간을 사용합니다. 가능한 경우 GROUP BY 및 ORDER BY 열 수를 줄이기 위해 쿼리를 업데이트합니다.
  4. 쿼리 실행 중에 리소스 제약 조건을 방지하기 위해 실행 중인 다른 활성 쿼리가 없는 경우 쿼리를 다시 실행합니다.

쿼리 성능이 시간이 지남에 따라 저하된 것 같습니다.

테이블 크기 변경, 데이터 기울이기, 워크로드 동시성, 사용 가능한 리소스, 네트워크 등과 같은 많은 요소가 쿼리 성능에 영향을 줄 수 있습니다. 쿼리 실행 속도가 느리다는 이유로 쿼리 성능 문제가 반드시 있는 것은 아닙니다. 대상 쿼리를 조사하려면 다음 단계를 수행합니다.

  1. 우수한 성능 및 불량한 성능 실행 간의 모든 성능에 영향을 주는 요소의 차이점을 식별합니다.
  2. 모든 테이블에서 적절한 열 통계가 만들어졌는지 확인하려면 통계에 대한 문서를 참조하세요.
  3. 대규모 DML 트랜잭션 후에 모든 테이블 통계가 업데이트되는지 확인합니다.
  4. 기본 테이블에서 데이터 기울이기를 확인합니다.
  5. 서비스를 일시 중지하고 다시 시작합니다. 그런 다음 실행 중인 다른 활성 쿼리가 없는 경우 쿼리를 다시 실행합니다. DMV를 사용하여 웨어하우스 워크로드를 모니터링할 수 있습니다.

오랜 시간 동안 실행한 후 쿼리가 실패합니다. 데이터가 클라이언트에 반환되지 않습니다.

SELECT 문이 백 엔드에서 완료되고 쿼리 결과 집합을 클라이언트로 반환하려고 할 때 실패할 수 있습니다. 다음 단계로 이 문제를 격리합니다.

  1. 다른 클라이언트 도구를 사용하여 동일한 쿼리를 다시 실행합니다.
  2. 1단계가 실패하면 실패한 SELECT 문을 통해 CTAS 명령을 실행하여 SELECT 쿼리 결과를 동일한 웨어하우스의 다른 테이블로 보냅니다. CTAS를 사용하면 쿼리 결과 집합이 클라이언트 컴퓨터로 다시 전송되지 않습니다. CTAS 명령이 완료되고 대상 테이블이 채워진 경우 원래 쿼리 실패는 웨어하우스 프런트 엔드 또는 클라이언트 문제로 인해 발생할 수 있습니다.

Microsoft 지원에 문의하기 전에 수집할 항목

  • 웨어하우스의 작업 영역 ID를 제공합니다.
  • 문 ID 및 분산 요청 ID를 제공합니다. 쿼리가 완료되거나 실패하면 메시지로 반환됩니다.
  • 오류 메시지의 전체 텍스트를 제공합니다.
  • 쿼리가 완료되거나 실패하는 시기를 제공합니다.