CHECK DATABASE クエリは、データベースの健全性を検証します。
主な用途は DataLakeCatalog データベースエンジンで、この場合、データベースのバックエンドとなる外部カタログに到達可能で、そのテーブル一覧を取得できることを確認します。これは軽量なプローブであり、テーブルデータを読み取ることなく、接続と認証を確認します。
構文
クエリの基本構文は次のとおりです。
CHECK DATABASE database_namedatabase_name: チェックするデータベースの名前を指定します。
クエリは結果セットを返しません。チェックが成功すると、クエリはどの行も生成せずに完了します。チェックが失敗した場合 (たとえば、カタログにアクセスできない場合や、認証情報が無効になっている場合) 、クエリは失敗内容を示す例外をスローします。
動作
DataLakeCatalog エンジンを使用するデータベースでは、CHECK DATABASE は次の動作を行います。
- 外部カタログ (AWS Glue、Databricks Unity、Hive Metastore、または Iceberg REST カタログなど) に接続し、テーブルの一覧を取得します。
- カタログに到達可能で、認証が有効であれば成功と報告します。
- カタログにテーブルが含まれている必要はありません。空のカタログであっても、到達可能であれば正常と見なされます。
専用のヘルスチェックを実装していないデータベースエンジンでは、CHECK DATABASE は何も実行せずに正常終了します。
CHECK DATABASE の実行には、データベースに対する CHECK 権限が必要です (GRANT を参照) 。
例
datalake という名前の DataLakeCatalog データベースを確認します:
CHECK DATABASE datalake;カタログにアクセスでき、認証情報が有効であれば、クエリは正常に完了し、行は返されません。
カタログにアクセスできない場合は、代わりにクエリで例外が発生します。具体的なメッセージは、カタログの種類と根本原因となる障害 (たとえば、接続エラー、401 Unauthorized のような HTTP ステータス、または DNS 名前解決の失敗) によって異なります。