동적 테이블 제한 사항

이 항목에서는 동적 테이블의 일반 및 교차 기능 제한에 대해 설명합니다.

일반 제한 사항

동적 테이블 사용에는 다음과 같은 일반적인 제한 사항이 적용됩니다.

  • 단일 계정은 최대 50,000개의 동적 테이블을 보유할 수 있습니다.

  • 동적 테이블에서 데이터를 자를 수 없습니다.

  • 임시 동적 테이블을 만들 수 없습니다.

  • 동적 테이블을 사용하여 공유 데이터를 수집 하는 경우 쿼리는 공유 동적 테이블이나 업스트림 동적 테이블을 참조하는 공유 보안 뷰에서 선택할 수 없습니다.

  • 동적 테이블 새로 고침이 소유자 역할 역할을 하므로 동적 테이블에 보조 역할을 사용할 수 없습니다. 자세한 내용은 기본 역할 및 보조 역할을 통한 승인 섹션을 참조하십시오.

  • 소스 테이블의 DATA_RETENTION_TIME_IN_DAYS 오브젝트 매개 변수를 0으로 설정할 수 없습니다.

  • 동적 테이블의 정의에는 동적 SQL(예: 세션 변수 또는 익명 블록의 바인딩되지 않은 변수)를 사용할 수 없습니다.

  • 동적 테이블 정의에서 사용자 정의 테이블 함수(UDTF)에서 읽는 SELECT 블록은 열을 명시적으로 지정해야 하며 * 를 사용할 수 없습니다.

  • 동적 테이블은 입력 테이블의 MAX_DATA_EXTENSION_TIME_IN_DAYS 기간 내에 새로 고치지 않으면 부실 테이블이 될 수 있습니다. 부실해지면 새로 고침을 다시 시작하려면 다시 생성할어야 합니다.

  • 동적 테이블은 현재 ACCESS_HISTORY 뷰 에서 추적을 지원하지 않습니다. 즉, 동적 테이블에서 수행되는 쿼리 및 작업은 감사 또는 모니터링 목적으로 Snowflake의 ACCESS_HISTORY에 캡처되지 않습니다.

  • DEFAULT 라는 웨어하우스를 사용하는 동적 테이블을 생성하는 경우 큰따옴표로 묶인 식별자 요구 사항 에 따라 이름 주위에 큰따옴표를 사용해야 합니다. 예: CREATE DYNAMIC TABLE ... WAREHOUSE = "DEFAULT". 동적 테이블 생성에 대한 자세한 내용은 동적 테이블 만들기 섹션을 참조하십시오.

  • 동적 테이블은 디렉터리 테이블, 외부 테이블, 스트림 및 구체화된 뷰를 포함하는 소스를 지원하지 않습니다.

  • 다른 동적 테이블을 쿼리하는 뷰에서 읽는 동적 테이블을 생성할 수 없습니다.

기능 간 상호 작용 지원

다음 기능 간 상호 작용은 지원되지 않습니다.

  • 동적 테이블 새로 고침에 Query Acceleration Service(QAS) 사용.

  • 공유 테이블의 데이터베이스 역할에 따른 마스킹 정책.

  • 동적 테이블의 기본 테이블에는 집계 및 프로젝션 정책을 적용할 수 없습니다. 기본 테이블에 집계 또는 프로젝션 정책이 연결된 경우 동적 테이블을 생성하지 못합니다.

증분 새로 고침 지원

동적 테이블은 증분 및 전체 새로 고침의 두 가지 새로 고침 모드를 지원합니다. 새로 고침 모드를 AUTO 로 설정하거나 명시적으로 설정할 수 있습니다. 자세한 내용은 동적 테이블 새로 고침 모드동적 테이블 새로 고침 모드 선택 모범 사례 섹션을 참조하십시오.

마스킹 및 행 액세스 정책

동적 테이블의 마스킹 또는 행 액세스 정책은 새로 고침 모드에 영향을 주지 않습니다 그러나 소스 테이블에 적용된 정책은 새로 고침 모드에 영향을 미칠 수 있습니다.

  • 소스 테이블의 정책이 CURRENT_ROLE 또는 IS_ROLE_IN_SESSION 함수를 사용하는 경우 증분 새로 고침이 지원됩니다.

  • 소스 테이블의 정책에서 다른 함수, INFORMATION_SCHEMA 뷰를 사용하거나 테이블을 쿼리하는 경우(예: 매핑 테이블 조회) 증분 새로 고침이 지원되지 않습니다.

복제

증분 새로 고침을 사용하는 복제된 동적 테이블은 장애 조치 후 테이블의 증분 새로 고침을 재개하기 전에 다시 초기화됩니다.

자세한 내용은 복제 및 동적 테이블 섹션을 참조하십시오.

복제

복제된 증분 동적 테이블 은 생성된 후 처음 새로 고침을 수행하는 동안 다시 초기화해야 할 수도 있습니다.

삭제된 기본 테이블이 있는 다른 동적 테이블에서 동적 테이블을 복제하는 경우, 복제본은 일시 중단되고 다시 시작하거나 새로 고칠 수 없습니다.