DATABASE_REFRESH_PROGRESS, DATABASE_REFRESH_PROGRESS_BY_JOB

DATABASE_REFRESH_PROGRESS, DATABASE_REFRESH_PROGRESS_BY_JOB

여러 차원을 따라 데이터베이스 새로고침의 상태를 조회하는 데 사용할 수 있는 Information Schema 테이블 함수예요. DATABASE_REFRESH_PROGRESS는 보조 데이터베이스의 이름으로, DATABASE_REFRESH_PROGRESS_BY_JOB은 새로고침 쿼리로 현재 새로고침 상태를 반환해요.

출처: 공식 문서

본문

DATABASE_REFRESH_PROGRESS 함수 계열은 여러 차원을 따라 데이터베이스 새로고침의 상태를 조회하는 데 사용할 수 있습니다:

  • DATABASE_REFRESH_PROGRESS는 이름으로 보조 데이터베이스(secondary database)의 현재 새로고침 상태를 나타내는 JSON 객체를 반환합니다.

  • DATABASE_REFRESH_PROGRESS_BY_JOB은 새로고침 쿼리로 보조 데이터베이스의 현재 새로고침 상태를 나타내는 JSON 객체를 반환합니다.

각 함수는 지정된 차원을 따라 조회하도록 최적화되어 있습니다.

참고 (Note):

  • DATABASE_REFRESH_PROGRESS는 가장 최근의 데이터베이스 새로고침이 지난 14일 이내에 발생한 경우에만 해당 새로고침 활동을 반환합니다.

  • DATABASE_REFRESH_PROGRESS_BY_JOB은 지난 14일 이내의 데이터베이스 새로고침 활동을 반환합니다.

참고 (See also): DATABASE_REFRESH_HISTORY

구문 (Syntax)

DATABASE_REFRESH_PROGRESS( '<secondary_db_name>' )

DATABASE_REFRESH_PROGRESS_BY_JOB( '<query_id>' )

인자 (Arguments)

보조 데이터베이스의 이름입니다. 보조 데이터베이스가 현재 세션의 활성 데이터베이스이면 이 인자는 선택 사항입니다.

전체 이름은 작은따옴표로 묶어야 합니다.

데이터베이스 새로고침 쿼리의 ID입니다. 쿼리 ID는 웹 인터페이스의 History 페이지에서 얻을 수 있습니다.

사용 참고 사항 (Usage notes)

  • 계정 관리자(ACCOUNTADMIN 역할의 사용자)에게만 결과를 반환합니다.

  • Information Schema 테이블 함수를 호출할 때 세션에 INFORMATION_SCHEMA 스키마가 사용 중이어야 하거나 함수 이름이 완전히 한정되어야 합니다. 자세한 내용은 Snowflake Information Schema를 참고하세요.

  • 다음은 처리 순서대로 정렬된 단계 목록입니다:

  • SECONDARY_UPLOADING_INVENTORY

  • PRIMARY_UPLOADING_METADATA

  • PRIMARY_UPLOADING_DATA

  • SECONDARY_DOWNLOADING_METADATA

  • SECONDARY_DOWNLOADING_DATA

  • COMPLETED / FAILED / CANCELED

출력 (Output)

이 함수는 다음 열들을 반환합니다:

Column Name Data Type Description
PHASE_NAME TEXT 지금까지 완료(또는 진행 중)된 복제 단계의 이름. 단계 목록은 사용 참고 사항을 참고하세요.
RESULT TEXT 복제 단계의 상태. 유효한 상태는 EXECUTING, SUCCEEDED, CANCELLED, FAILED입니다.
START_TIME NUMBER 복제 단계가 시작된 시간. 형식은 epoch 시간입니다.
END_TIME NUMBER 해당하는 경우 단계가 끝난 시간. 형식은 epoch 시간입니다.
DETAILS VARIANT DATABASE_REFRESH_PROGRESS 함수에서만 반환됩니다. 다음 단계에 대한 자세한 정보를 제공하는 JSON 객체: - Primary uploading data: 보조 데이터베이스의 현재 스냅샷 타임스탬프. - Primary uploading data 및 Secondary downloading data: 데이터베이스 새로고침의 총 바이트 수와 해당 단계에서 지금까지 복사된 바이트 수. - Secondary downloading metadata: 보조 데이터베이스의 최신 스냅샷에 있는 테이블, 테이블 열, 모든 데이터베이스 객체(테이블과 테이블 열 포함)의 수.

예제 (Examples)

mydb1 데이터베이스의 데이터베이스 새로고침 현재 진행 상황을 검색합니다:

select *
from table(information_schema.database_refresh_progress(mydb1));

쿼리 ID로 데이터베이스 새로고침의 현재 진행 상황을 검색합니다:

select *
from table(information_schema.database_refresh_progress_by_job('012a3b45-1234-a12b-0000-1aa200012345'));

더 알아보기 (Learn more)