- 스키마:
OBJECT_DEPENDENCIES 뷰¶
이 Account Usage 뷰는 각 오브젝트 종속성에 대해 하나의 행을 표시합니다.
예를 들어, 단일 테이블에서 뷰를 만드는 동안 뷰는 테이블에 종속됩니다. Snowflake는 테이블에 대한 뷰의 종속성을 기록하기 위한 행을 한 개 반환합니다.
그러나 뷰 생성이 두 테이블에 종속된 경우 Snowflake는 첫 번째 테이블에 대한 뷰의 종속성을 기록하기 위해 한 행을 반환하고 별도로, 두 번째 테이블에 대한 뷰의 종속성을 기록하기 위해 한 행을 반환합니다. 이 패턴은 주어진 오브젝트에 대한 종속성이 아무리 많아도 계속됩니다.
열¶
열 이름 |
데이터 타입 |
설명 |
---|---|---|
REFERENCED_DATABASE |
TEXT |
참조된 오브젝트의 상위 데이터베이스입니다. |
REFERENCED_SCHEMA |
TEXT |
참조된 오브젝트의 상위 스키마입니다. |
REFERENCED_OBJECT_NAME |
TEXT |
참조된 오브젝트의 이름입니다. |
REFERENCED_OBJECT_ID |
NUMBER |
참조된 오브젝트의 오브젝트 ID입니다. |
REFERENCED_OBJECT_DOMAIN |
TEXT |
참조된 오브젝트의 도메인(예: |
REFERENCING_DATABASE |
TEXT |
참조하는 오브젝트의 상위 데이터베이스입니다. |
REFERENCING_SCHEMA |
TEXT |
참조하는 오브젝트의 상위 스키마입니다. |
REFERENCING_OBJECT_NAME |
TEXT |
참조하는 오브젝트의 이름입니다. |
REFERENCING_OBJECT_ID |
NUMBER |
참조하는 오브젝트의 오브젝트 ID입니다. |
REFERENCING_OBJECT_DOMAIN |
TEXT |
참조하는 오브젝트의 도메인(예: |
DEPENDENCY_TYPE |
TEXT |
종속성 타입( |
일반적인 사용법 노트¶
이 뷰의 지연 시간은 최대 3시간입니다.
지원되는 오브젝트 및 해당 종속성 타입의 전체 목록을 확인하려면 지원되는 오브젝트 종속성 섹션을 참조하십시오.
이 뷰는 뷰를 사용 가능하게 만들기 전에 종속성을 포함하기 위해 2022년 1월 22일에 다시 채워졌습니다. Snowflake는 이 날짜 이후에도 종속성을 계속 기록합니다.
이 날짜 이전에 누락된 종속성으로 인해 뷰 또는 UDF 가 유효하지 않았으며 누락된 종속성이 나중에 수정되는 경우 Snowflake는 뷰 또는 UDF에 대한 종속성을 기록하지 않습니다.
예를 들어, 2021년 12월 1일에 테이블에 의존하는 뷰를 생성하고, 같은 날 테이블을 삭제한 다음 2022년 2월 1일에 테이블을 삭제 취소한 경우 Snowflake는 해당 뷰가 테이블에 의존한다고 기록하지 않습니다.
해결 방법으로는, 이 뷰가 종속성을 기록하도록 뷰 또는 UDF를 만들거나 바꾸십시오.
이 뷰의 제한 사항과 이 뷰와 다른 Snowflake 기능 및 오브젝트와의 관계에 대한 자세한 내용은 다음을 참조하십시오.
데이터 공유 사용법 노트¶
- 일반 노트:
뷰 업데이트에서는 공유가 삭제되지 않는 것으로 가정합니다.
뷰 스키마(즉, 열 이름, 데이터 타입, 값)는 다음 예외를 제외하면 동일하게 유지됩니다.
컨슈머 계정에서 REFERENCED_OBJECT_ID 열의 값은 공유 오브젝트에 대해 항상 NULL입니다.
이 값은 고객이 공급자 계정에서 원본 오브젝트를 검색하지 못하도록 하는 의미가 있습니다.
REFERENCED_OBJECT_DOMAIN의 값은 테이블과 같은 모든 오브젝트에 대해
TABLE
입니다.
- Snowflake 오브젝트:
Account Usage 뷰와 같은 공유 오브젝트는 이제 참조된 오브젝트로 지원됩니다.
예를 들어 사용자 정의 뷰가 LOGIN_HISTORY와 같은 다른 Account Usage 뷰의 데이터에 의존하는 경우 컨슈머 계정의 OBJECT_DEPENDENCIES 뷰는 LOGIN_HISTORY 뷰를 참조된 오브젝트로 지정합니다.
- 노트 이름 바꾸기:
공급자가 공유 데이터베이스, 공유 스키마 또는 공유 오브젝트의 이름을 바꾸는 경우:
컨슈머 OBJECT_DEPENDENCIES 뷰 레코드는 이름이 바뀐 오브젝트가 아니라 이름을 바꾸기 전 데이터베이스, 스키마 또는 오브젝트의 원래 이름의 레코드를 보여줍니다.
컨슈머가 공급자 계정에서 오브젝트 수명 주기를 결정하지 못하도록 새로 이름이 바뀐 공유 오브젝트가 컨슈머 OBJECT_DEPENDENCIES 뷰에 표시되지 않습니다. 이름이 바뀐 오브젝트가 컨슈머 계정의 로컬 OBJECT_DEPENDENCIES 뷰에 나타나도록 하려면 새 참조 오브젝트가 새로 이름이 바뀐 오브젝트를 참조해야 합니다.
공유 데이터베이스의 이름을 바꾸면 컨슈머 계정의 종속성이 유지됩니다.
공유 스키마 또는 공유 스키마의 공유 오브젝트 이름을 바꾸면 컨슈머 계정의 종속성이 끊어집니다.
컨슈머가 공유 데이터베이스의 이름을 바꾸면 해당 데이터베이스에 대한 기존의 종속성이 모두 끊어집니다. 결과적으로 Snowflake에서는 컨슈머 계정의 OBJECT_DEPENDENCIES 뷰에서 해당 레코드가 삭제됩니다.
예를 들어 공유 데이터베이스에는
db1_shared.views.view_1_shared
라는 뷰가 있습니다. 컨슈머가 공유 데이터베이스의 이름을mydb
로 바꿉니다. 그러면 뷰에mydb.views.view_1_shared
의 정규화된 이름이 있습니다. Snowflake에서는db1_shared
라는 데이터베이스에 대한 종속성이 단절되었으므로 컨슈머의 OBJECT_DEPENDENCIES 뷰에서db1_shared.views.view_1_shared
를 지정하는 행이 삭제됩니다.- 지원되지 않음:
참조된 오브젝트에 대한
BY_ID
종속성 유형은 지원되지 않습니다.