カテゴリ:

システム関数 (システム情報)

SYSTEM$GET_DIRECTORY_TABLE_STATUS

アカウント内にあるステージの ディレクトリテーブル の整合性ステータスを含む記録のリストを返します。整合性ステータスは、複製されたステージ上のディレクトリテーブルが、そのステージ上のすべての複製されたファイルに関する情報を持っているか(整合性があるか)を示します。

こちらもご参照ください。

ステージ、パイプ、ロード履歴の複製ディレクトリテーブル

構文

SYSTEM$GET_DIRECTORY_TABLE_STATUS( [ '<stage_name>' ] ) 
Copy

引数

オプション:

'stage_name'

ディレクトリテーブルの整合性ステータスを取得するステージ。ステージ名を指定すると、関数はそのステージ上のディレクトリテーブルの単一記録を含むリストを返します。

戻り値

アカウントにある各ステージのディレクトリテーブル整合性記録のリストを返します。リストには最大10,000件の記録が含まれます。 'stage_name' 引数を指定すると、関数はそのステージのディレクトリテーブルの単一記録を含むリストを返します。

記録は JSON 形式で、以下の名前と値のペアを含みます。

{  "stage" : "STAGE1",  "status" : "INCONSISTENT" } 

条件:

stage

ディレクトリテーブルが有効になるステージ。

status

ディレクトリテーブルの整合性ステータス。ディレクトリテーブルがステージ上の複製されたコンテンツと完全に整合している場合は CONSISTENT、そうでない場合は INCONSISTENT。ステータスが INCONSISTENT の場合は、Snowflakeが整合性を検証できず、ステージ上に存在するいくつかのファイルに関する情報がディレクトリテーブルに欠けている可能性があることを意味します。

使用上の注意

  • この関数を呼び出すには、整合性ステータスを取得するステージの READ 権限を付与されているか、継承しているロールを使用する必要があります。

  • 整合性ステータスを INCONSISTENT から CONSISTENT に更新するには、 ALTER STAGE ... REFRESH コマンドを使用してフルリフレッシュを実行します。

以下の例では、アカウントにあるステージの整合性ステータス記録のリストを取得します。

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS(); 
Copy

出力:

[  {  "stage" : "STAGE1",  "status" : "CONSISTENT"  },  {  "stage" : "STAGE2",  "status" : "INCONSISTENT"  } ] 

次の例では、 stage1 という名前のステージの整合性ステータス記録を取得します。

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS('stage1'); 
Copy

出力:

[  {  "stage" : "STAGE1",  "status" : "CONSISTENT"  } ]