QuickSight에서 사용자 지정 SQL 데이터 소스의 SQL 예외 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 7월 25일

Amazon QuickSight에서 사용자 지정 SQL 데이터 소스를 사용하려고 하는데 "Your database generated a SQL exception.(데이터베이스에서 SQL 예외가 생성되었습니다.)" 오류 메시지가 나타납니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Amazon 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."

오류의 원인에 대한 자세한 내용을 보려면 오류 메시지 아래의 세부 정보 표시(Show Details)를 선택하세요.

오류 메시지가 표시되는 일반적인 이유는 다음과 같습니다.

  • 쿼리가 시간 초과되었습니다.
  • 데이터 소스에 대한 VPC 연결에 문제가 있습니다.
  • 데이터에 액세스할 수 있는 권한이 QuickSight 계정에 없습니다.
  • AWS 관리형 Key Management Service(AWS KMS) 키에 액세스할 수 있는 권한이 QuickSight 서비스 역할에 없습니다.
  • 지원되지 않는 데이터 유형 또는 함수를 사용하고 있습니다.

해결 방법

AWS Command Line Interface(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 보안 및 권한 설정을 확인하세요.

  1. Amazon QuickSight 콘솔을 엽니다.
  2. QuickSight 관리(Manage QuickSight)를 선택합니다.
  3. 보안 및 권한(Security & permissions)을 선택합니다.
  4. 사용하는 지원되는 서비스에 대한 액세스를 구성합니다.

AWS Organizations를 사용하는 경우 필요한 서비스 제어 정책(SCP)이 할당되지 않았을 때 오류를 수신할 수 있습니다. AWS Organizations 관리자에게 SCP 설정을 확인하여 사용자에게 할당된 권한을 확인하도록 요청합니다. AWS Organizations 관리자인 경우 서비스 제어 정책 생성, 업데이트 및 삭제를 참조하세요.

AWS 관리형 KMS 키에 액세스할 수 있는 권한이 QuickSight 서비스 역할에 없음

다음과 같은 오류가 발생합니다.

If you are encrypting query results with KMS key, please ensure you are allowed to access your KMS key.

QuickSight 서비스 역할에 올바른 AWS KMS 키 권한이 있는지 확인합니다.

  1. AWS Identity and Access Management(IAM) 콘솔을 사용하여 QuickSight 서비스 역할 ARN을 찾습니다.
  2. Amazon Simple Storage Service(S3) 콘솔을 사용하여 AWS KMS 키 ARN을 검색합니다.
    데이터 파일이 포함된 버킷으로 이동합니다.
    개요(Overview) 탭을 선택하고 KMS 키 ID(KMS key ID)를 찾습니다.
  3. KMS 키 정책에 QuickSight 서비스 역할 ARN을 추가합니다.

AWS CLI create-grant 명령을 실행합니다.

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 함수가 지원되는지 확인합니다.

지원되는 기능을 확인하려면 다음 리소스를 확인하세요.