카테고리:

Information Schema , 테이블 함수

DATA_METRIC_FUNCTION_REFERENCES

오브젝트에 지정된 데이터 메트릭 함수가 할당된 각 오브젝트에 대한 행을 반환하는 각 데이터 메트릭 함수 또는 지정된 오브젝트에 할당된 각 데이터 메트릭 함수에 대한 행을 반환합니다.

참고 항목:

DATA_METRIC_FUNCTION_REFERENCES 뷰 (Account Usage 뷰)

구문

DATA_METRIC_FUNCTION_REFERENCES(
  METRIC_NAME => '<string>' )

DATA_METRIC_FUNCTION_REFERENCES(
  REF_ENTITY_NAME => '<string>' ,
  REF_ENTITY_DOMAIN => '<string>'
  )
Copy

인자

METRIC_NAME => 'string'

데이터 메트릭 함수의 이름을 지정합니다.

  • 전체 데이터 메트릭 이름은 작은따옴표로 묶어야 합니다.

  • 데이터 메트릭 이름이 대/소문자를 구분하거나, 특수 문자 또는 공백을 포함하는 경우 대/소문자를 처리하려면 큰따옴표가 필요합니다. 큰따옴표는 작은따옴표로 묶어야 합니다(예: '"<메트릭_이름>"').

REF_ENTITY_NAME => 'string'

데이터 메트릭 함수가 추가되는 오브젝트의 이름(예: table_name, view_name 또는 external_table_name)입니다.

  • 전체 오브젝트 이름은 작은따옴표로 묶어야 합니다.

  • 오브젝트 이름이 대/소문자를 구분하거나, 특수 문자 또는 공백을 포함하는 경우 대/소문자를 처리하려면 큰따옴표가 필요합니다. 큰따옴표는 작은따옴표로 묶어야 합니다(예: '"<테이블_이름>"').

REF_ENTITY_DOMAIN => 'string'

데이터 메트릭 함수가 추가되는 오브젝트 유형(예: 테이블 또는 구체화된 뷰)입니다.

모든 지원되는 테이블 유형 에 대해 'TABLE' 을 사용합니다.

반환

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

데이터 타입

설명

metric_database_name

VARCHAR

데이터 메트릭 함수를 저장하는 데이터베이스입니다.

metric_schema_name

VARCHAR

데이터 메트릭 함수를 저장하는 스키마입니다.

metric_name

VARCHAR

데이터 메트릭 함수의 이름입니다.

argument_signature

VARCHAR

메트릭 인자의 유형 서명입니다.

data_type

VARCHAR

데이터 메트릭 함수의 반환 데이터 타입입니다.

ref_database_name

VARCHAR

데이터 메트릭 함수가 추가된 오브젝트가 들어 있는 데이터베이스 이름입니다.

ref_schema_name

VARCHAR

데이터 메트릭 함수가 추가된 오브젝트가 포함된 스키마 이름입니다.

ref_entity_name

VARCHAR

데이터 메트릭 함수가 설정된 테이블이나 뷰의 이름입니다.

ref_entity_domain

VARCHAR

데이터 메트릭 함수가 설정되는 오브젝트 유형(테이블, 뷰)입니다.

ref_arguments

ARRAY

규칙을 평가하는 데 사용된 참조 인자를 식별합니다.

ref_id

VARCHAR

데이터 메트릭 함수를 테이블이나 뷰에 연결하기 위한 고유 식별자입니다.

schedule

VARCHAR

테이블이나 뷰에서 데이터 메트릭 함수를 실행하는 일정입니다. 일정의 값은 항상 가장 최신이고 효과적인 일정입니다.

schedule_status

VARCHAR

메트릭 연결의 상태입니다. 다음 중 하나:

STARTED

테이블이나 뷰의 데이터 메트릭 연결이 실행되도록 예약되어 있습니다.

STARTED_AND_PENDING_SCHEDULE_UPDATE

데이터 메트릭 일정이 변경되었으며, 새로운 일정은 아직 적용되지 않았습니다. Snowflake가 일정을 업데이트하고 일정을 데이터 메트릭 함수와 동기화하도록 허용합니다. 이 값은 업데이트가 완료될 때까지 임시적입니다.

ALTER TABLE 또는 ALTER VIEW 명령으로 일정을 설정 해제하는 경우 이 값은 새 일정이 설정될 때까지 유지됩니다.

SUSPENDED

테이블이나 뷰의 데이터 메트릭 연결이 실행되도록 예약되어 있지 않습니다. 이 값은 함수를 호출하는 사용 중인 역할에 테이블에 대한 OWNERSHIP 권한이 없는 경우에도 발생합니다.

Account Usage 뷰를 쿼리할 때 기본적으로 다음 값이 표시되지만, 테이블 함수를 호출할 때 테이블에 대한 OWNERSHIP 권한이 있는 역할을 사용해야 이러한 값을 볼 수 있습니다.

SUSPENDED_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

다음 중 하나:

  • 테이블이 삭제됩니다.

  • 테이블이 포함된 스키마 또는 데이터베이스가 삭제됩니다.

  • 테이블이 포함된 스키마나 데이터베이스를 테이블 소유자 역할로 확인할 수 없습니다.

    “확인됨”은 함수를 호출하는 역할에 테이블이 포함된 스키마나 데이터베이스에 대한 적절한 권한이 없음을 의미합니다.

SUSPENDED_DATA_METRIC_FUNCTION_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

다음 중 하나:

  • DMF가 삭제됩니다.

  • DMF가 포함된 스키마 또는 데이터베이스가 삭제됩니다.

  • DMF가 포함된 스키마 또는 데이터베이스는 테이블 소유자 역할로 확인할 수 없습니다.

SUSPENDED_TABLE_COLUMN_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

다음 중 하나:

  • 대상 테이블 열이 삭제됩니다.

  • 열이 포함된 스키마나 데이터베이스가 삭제됩니다.

  • 열이 포함된 스키마 또는 데이터베이스는 테이블 소유자 역할로 확인할 수 없습니다.

SUSPENDED_INSUFFICIENT_PRIVILEGE_TO_EXECUTE_DATA_METRIC_FUNCTION

테이블 소유자 역할에는 EXECUTE DATA METRIC FUNCTION 권한이 없습니다.

SUSPENDED_ACTIVE_EVENT_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

이벤트 테이블은 계정 수준에서 설정되지 않습니다.


쿼리를 실행하는 역할에 부여된 권한에 따라 결과가 반환됩니다.

이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

  • 데이터 메트릭 함수에 대해 지원되는 모든 권한입니다.

    • 시스템 DMFs의 경우 해당 역할에 DATA_METRIC_USER 데이터베이스 역할을 부여할 수 있습니다.

  • 테이블 또는 뷰에 대한 SELECT 권한입니다.

사용법 노트

  • Information Schema 테이블 함수를 호출할 때 세션에는 사용 중인 INFORMATION_SCHEMA 스키마가 있거나 또는 함수가 정규화된 오브젝트 이름을 사용해야 합니다. 자세한 내용은 Snowflake Information Schema 섹션을 참조하십시오.

  • 쿼리를 실행할 구문 변형을 하나 선택하십시오. 인자를 혼합하면 오류 및 쿼리 실패가 발생합니다.

    REF_ENTITY_NAMEREF_ENTITY_DOMAIN 의 인자 값은 반드시 함께 포함되어야 하며, 그렇지 않으면 쿼리가 실패합니다.

  • 지정된 오브젝트 이름이 존재하지 않거나 쿼리 연산자가 오브젝트에 대한 데이터 메트릭 함수를 볼 권한이 없는 경우 Snowflake는 오류를 반환합니다. 연산자가 데이터 메트릭 연결의 하위 세트를 볼 수 있는 경우 Snowflake는 데이터 메트릭 연결의 결과 세트를 반환할 수 있습니다.

  • 'stream' 같이 REF_ENTITY_DOMAIN 으로 나열된 지원되지 않는 오브젝트 유형은 오류를 반환합니다.

해당 테이블 또는 뷰에 DMF가 count_positive_numbers 로 설정된 각 오브젝트(테이블 또는 뷰)에 대한 행을 반환합니다.

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      METRIC_NAME => 'governance.dmfs.count_positive_numbers'
    )
  );
Copy

hr.tables.empl_info 테이블에 할당된 각 DMF에 대한 행을 반환합니다.

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      REF_ENTITY_NAME => 'hr.tables.empl_info',
      REF_ENTITY_DOMAIN => 'table'
    )
  );
Copy