CHECK DATABASE
CHECK DATABASE
CHECK DATABASE 쿼리는 데이터베이스의 건강 상태를 확인해요.
주된 용도는 DataLakeCatalog 데이터베이스 엔진과 함께 사용하는 것으로, 데이터베이스를 뒷받침하는 외부 카탈로그에 접근할 수 있고 그 테이블 목록을 가져올 수 있는지 확인합니다. 이는 가벼운 프로브(probe)로, 어떤 테이블 데이터도 읽지 않고 연결성과 인증만 확인해요.
출처: 문서
본문
Syntax
쿼리의 기본 문법은 다음과 같아요.
CHECK DATABASE database_name
database_name: 확인하고 싶은 데이터베이스의 이름을 지정해요.
이 쿼리는 결과 집합을 반환하지 않아요. 검사가 성공하면 쿼리는 어떤 행도 만들지 않고 완료됩니다. 검사가 실패하면 — 예를 들어 카탈로그에 접근할 수 없거나 자격 증명이 더 이상 유효하지 않은 경우 — 쿼리는 실패를 설명하는 예외를 던집니다.
Behavior
DataLakeCatalog 엔진을 가진 데이터베이스에 대해, CHECK DATABASE는:
- 외부 카탈로그(예: AWS Glue, Databricks Unity, Hive Metastore, 또는 Iceberg REST 카탈로그)에 연결하고 테이블 목록을 가져와요.
- 카탈로그에 접근할 수 있고 인증이 유효하면 성공을 보고해요.
- 카탈로그에 테이블이 있을 것을 요구하지 않아요. 비어 있지만 접근 가능한 카탈로그도 여전히 건강한 것으로 간주됩니다.
전용 건강 검사를 구현하지 않는 데이터베이스 엔진의 경우, CHECK DATABASE는 아무 작업도 수행하지 않고 성공적으로 완료돼요.
CHECK DATABASE를 실행하려면 데이터베이스에 대한 CHECK 권한이 필요해요(GRANT 참고).
Examples
datalake라는 이름의 DataLakeCatalog 데이터베이스를 확인해요.
CHECK DATABASE datalake;
카탈로그에 접근할 수 있고 자격 증명이 유효하면 쿼리는 성공적으로 완료되고 행을 반환하지 않아요.
카탈로그에 접근할 수 없으면 쿼리는 대신 예외를 던집니다. 정확한 메시지는 카탈로그 유형과 근본 원인에 따라 달라져요(예: 연결 오류, 401 Unauthorized와 같은 HTTP 상태, 또는 DNS 해석 실패).