Amazon QuickSight에서 사용자 지정 SQL 데이터 소스를 사용하려고 했지만 “Your database generated a SQL exception.”이라는 오류 메시지가 나타납니다.
간략한 설명
QuickSight가 SQL 데이터 소스를 쿼리하거나 새로 고칠 때 다음과 같은 오류 메시지가 나타납니다.
"Your database generated a SQL exception. This can be caused by query timeouts, resource constraints, unexpected DDL alterations before or during a query, and other database errors. Check your database settings and your query, and try again."
다음과 같은 이유로 위 오류 메시지가 표시될 수 있습니다.
- 쿼리 제한 시간이 초과되었습니다.
- 데이터 소스에 대한 가상 프라이빗 클라우드(VPC) 연결에 문제가 있습니다.
- QuickSight 계정에는 데이터에 액세스할 권한이 없습니다.
- QuickSight 서비스 역할에는 AWS managed Key Management Service(AWS KMS) 키에 액세스할 권한이 없습니다.
- 지원되지 않는 데이터 유형 또는 함수를 사용했습니다.
오류의 원인에 대한 자세한 내용을 보려면 오류 메시지 아래에서 세부 정보 표시를 선택합니다.
데이터세트를 새로 고칠 때 위의 오류 메시지가 표시되면 데이터세트의 요약에서 오류에 대한 세부 정보를 확인할 수 있습니다. 자세한 내용을 보려면 Status Import Failed(상태 가져오기 실패)를 선택하십시오.
위의 오류 메시지가 대시보드에 표시되면 Underlying analysis(기본 분석)로 이동하여 Concerned visual(s)(관련 시각화 자료)을 선택합니다. 분석의 왼쪽 패널에 있는 데이터세트를 기록한 다음, 데이터세트의 요약을 확인하십시오.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
쿼리 제한 시간 초과
사용자 지정 SQL 쿼리 제한 시간이 초과되면 쿼리를 단순화하여 런타임을 최적화하십시오. 다른 쿼리 제한 시간 해결 방법은 QuickSight에서 쿼리 시간 초과 오류를 해결하려면 어떻게 해야 하나요?를 참조하십시오.
데이터 소스에 대한 VPC 연결에 문제가 있음
다음 오류 메시지 중 하나가 표시됩니다.
"Communications link failure The last packet successfully received from the server was nnnn milliseconds ago. The last packet sent successfully to the server was nnnn milliseconds ago."
-또는-
"Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server."
데이터 소스에 VPC 연결 문제가 발생하는 경우 리소스와 연결된 VPC의 네트워크 보안 그룹을 확인하세요. 자세한 내용을 알아보려면 Amazon QuickSight를 사용하여 VPC에 연결을 참조하세요.
데이터에 액세스하는 데 필요한 권한이 QuickSight 계정에 없음
AWS 서비스의 데이터에 액세스하려고 할 때 SQL 예외 오류가 발생하는 경우 QuickSight 보안 및 권한 설정을 확인하십시오.
다음 단계를 완료하십시오.
- QuickSight 콘솔을 엽니다.
- QuickSight 관리를 선택합니다.
- 보안 및 권한을 선택합니다.
- 사용하는 지원되는 데이터 소스에 대한 액세스를 구성합니다.
AWS Organizations를 사용하는 경우에는 필요한 서비스 제어 정책(SCP)이 할당되지 않았을 때 오류가 발생합니다. 조직 관리자에게 사용자의 SCP 설정에 할당된 권한을 확인하도록 요청하십시오.
조직 관리자인 경우에는 서비스 제어 정책(SCP) 업데이트를 참조하십시오.
사용자의 QuickSight 서비스 역할에 AWS 관리형 KMS 키 액세스 권한이 없음
다음과 같은 오류가 표시됩니다.
"If you are encrypting query results with KMS key, please ensure you are allowed to access your KMS key."
QuickSight 서비스 역할에 올바른 AWS KMS 키 권한이 있는지 확인하려면 다음 단계를 완료하세요.
- AWS Identity and Access Management(IAM) 콘솔을 사용하여 QuickSight 서비스 역할 ARN을 찾을 수 있습니다.
- Amazon Simple Storage Service(Amazon S3) 콘솔을 사용하여 AWS KMS 키 ARN을 찾습니다. 데이터 파일이 들어 있는 버킷으로 이동합니다. 개요 탭을 선택한 다음, AWS KMS 키 ID를 찾습니다.
- create-grant AWS CLI 명령을 실행하여 AWS KMS 키 정책에 QuickSight 서비스 역할 ARN을 추가합니다.
aws kms create-grant --key-id aws_kms_key_arn --grantee-principal quicksight_role_arn --operations Decrypt
참고: aws_kms_key_arn을 AWS KMS 키의 ARN으로 바꾸고, quicksight_role_arn을 QuickSight 서비스 역할의 ARN으로 바꾸십시오.
지원되지 않는 데이터 유형 또는 함수 사용
지원되지 않는 데이터 유형을 가져오거나 지원되지 않는 SQL 함수를 사용하려고 하면 SQL 예외 오류가 발생합니다. 이 문제를 해결하려면 SQL 데이터 원본을 검사하여 데이터 유형 또는 SQL 함수가 지원되는지 확인하세요.
지원되는 기능을 확인하려면 다음 리소스를 확인하십시오.
관련 정보
직접 SQL 쿼리에 대한 할당량
Amazon QuickSight에서 프라이빗 서브넷의 Amazon Redshift 클러스터 또는 Amazon RDS DB 인스턴스로의 프라이빗 연결을 생성하려면 어떻게 해야 합니까?
Amazon QuickSight용 작업, 리소스 및 조건 키