동적 테이블 일시 중단 또는 재개¶
이 항목에서는 동적 테이블이 자동으로 일시 중단되는 이유와 동적 테이블을 수동으로 일시 중단하거나 다시 시작하는 방법에 대해 설명합니다.
자동 동적 테이블 서스펜션¶
동적 테이블은 예약된 새로 고침 오류가 5회 연속 발생하면 자동으로 일시 중단됩니다. 수동 새로 고침을 포함하여 새로 고침에 성공하면 오류 횟수가 0으로 초기화됩니다. 예를 들어, 테이블이 예약된 새로 고침에 두 번 연속 실패했다가 다음 번에는 성공하면 오류 횟수가 0으로 재설정됩니다.
수동으로 트리거된 새로 고침으로 인한 오류는 이 제한에 포함되지 않습니다.
일시 중단된 테이블에 종속된 모든 동적 테이블도 일시 중단됩니다.
다음 옵션 중 하나를 사용하여 동적 테이블의 현재 상태(ACTIVE 또는 SUSPENDED)를 볼 수 있습니다.
DYNAMIC_TABLE_GRAPH_HISTORY 테이블 함수를 실행합니다.
SELECT name, scheduling_state
FROM TABLE (INFORMATION_SCHEMA.DYNAMIC_TABLE_GRAPH_HISTORY());
출력에서 SCHEDULING_STATE
열에는 동적 테이블의 상태(ACTIVE 또는 SUSPENDED)가 표시됩니다.
+-------------------+---------------------------------------------------------------------------------+
| NAME | SCHEDULING_STATE |
|-------------------+---------------------------------------------------------------------------------|
| DTSIMPLE | { |
| | "reason_code": "SUSPENDED_DUE_TO_ERRORS", |
| | "reason_message": "The DT was suspended due to 5 consecutive refresh errors", |
| | "state": "SUSPENDED", |
| | "suspended_on": "2023-06-06 19:27:29.142 -0700" |
| | } |
| DT_TEST | { |
| | "state": "ACTIVE" |
| | } |
+-------------------+---------------------------------------------------------------------------------+
동적 테이블의 상태를 보려면 Snowsight 에 로그인하십시오. 탐색 메뉴에서 Monitoring » Dynamic Tables 를 선택합니다.
이 페이지에서 동적 테이블의 상태와 마지막 새로 고침 상태를 볼 수 있습니다. 데이터베이스 또는 스키마별로 필터링하여 결과 범위를 좁힐 수도 있습니다.
수동으로 동적 테이블 일시 중단하기¶
지금은 필요하지 않지만 새로 고침 비용이 발생하지 않도록 하려면 동적 테이블을 수동으로 일시 중단하여 나중에 사용할 수 있도록 하십시오. 일시 중단을 사용하면 건너뛰기가 발생하여 문제 해결을 위한 시간이 필요한 경우 새로 고침 빈도를 더 잘 제어할 수도 있습니다.
동적 테이블은 정확한 새로 고침 타이밍을 보장하지 않으므로 특정 시간 또는 발생 시 새로 고침을 보장하려면 정기적으로 실행되는 작업이나 스크립트를 사용하여 수동 새로 고침을 실행할 수 있습니다. 이를 통해 테이블이 새로 고쳐지는 시기를 정밀하게 제어할 수 있습니다.
ALTER DYNAMIC TABLE … SUSPEND 명령 또는 Snowsight를 사용하여 동적 테이블을 수동으로 일시 중단할 수 있지만 다음과 같은 제한이 있습니다.
동적 테이블을 일시 중단하면 해당 테이블의 다운스트림인 동적 테이블도 일시 중단됩니다.
기본 테이블의 Time Travel 보존 기간을 초과하여 증분 새로 고침이 있는 동적 테이블을 일시 중단하면 동적 테이블이 다시 시작된 후 다음 새로 고침에 실패합니다.
ALTER DYNAMIC TABLE my_dynamic_table SUSPEND;
Snowsight 에 로그인합니다.
탐색에서 Monitoring » Dynamic Tables 로 이동합니다.
팝업에서 동적 테이블을 일시 중단할지 확인합니다.
동적 테이블 다시 시작¶
동적 테이블을 다시 시작하려면 ALTER DYNAMIC TABLE … RESUME 명령 또는 Snowsight 를 사용합니다.
ALTER DYNAMIC TABLE my_dynamic_table RESUME;
Snowsight 에 로그인합니다.
탐색에서 Monitoring » Dynamic Tables 로 이동합니다.
팝업에서 동적 테이블을 다시 시작할지 확인합니다.