카테고리:

Information Schema , 테이블 함수

DCM_DEPLOYMENT_HISTORY

이 테이블 함수는 DCM project 오브젝트의 배포 기록을 반환합니다. 이를 사용하여 타임스탬프, 상태, 오류 세부 정보, 요약 통계 등 배포 성공 및 실패를 쿼리할 수 있습니다. 이 함수는 역할 기반 액세스 및 짧은 대기 시간 결과를 제공합니다.

구문

DCM_DEPLOYMENT_HISTORY(
      [ PROJECT_NAME => '<string>' ]
      [, START_TIME_RANGE_START => <constant_expr> ]
      [, START_TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <integer> ] )

인자

모든 인자는 선택 사항입니다.

PROJECT_NAME => 'string'

DCM project 의 정규화된 이름입니다. 제공되지 않는 경우 함수는 현재 역할이 액세스할 수 있는 모든 프로젝트의 기록을 반환합니다.

START_TIME_RANGE_START => constant_expr

배포 이벤트 검색을 위한 시간 범위의 시작을 표시하는 타임스탬프(TIMESTAMP_LTZ 형식)입니다.

기본값: 7일 전.

START_TIME_RANGE_END => constant_expr

배포 이벤트 검색을 위한 시간 범위의 끝을 표시하는 타임스탬프(TIMESTAMP_LTZ 형식)입니다.

기본값: 현재 타임스탬프.

RESULT_LIMIT => integer

반환할 최대 행 수입니다.

기본값: 10000.

출력

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

열 이름

데이터 타입

설명

QUERY_UUID

VARCHAR

배포를 실행한 쿼리의 고유 식별자입니다.

PROJECT_NAME

VARCHAR

배포된 DCM project 의 이름입니다.

START_TIMESTAMP

TIMESTAMP_LTZ

배포 실행이 시작된 시점의 타임스탬프입니다.

END_TIMESTAMP

TIMESTAMP_LTZ

배포 실행이 완료되거나 실패한 시점의 타임스탬프입니다.

DEPLOYMENT_NAME

VARCHAR

내부 배포 식별자(예: DEPLOYMENT$1, DEPLOYMENT$2)입니다.

DEPLOYMENT_ALIAS

VARCHAR

배포에 대한 사용자 지정 별칭입니다. 별칭이 제공되지 않은 경우 비어 있습니다.

STATUS

VARCHAR

배포 결과입니다. 가능한 값은 SUCCESSFUL, FAILED, ``CANCELED``입니다.

PHASE

VARCHAR

실행의 단계입니다. 가능한 값은 PLAN, DEPLOY, ``INIT``입니다.

CONFIGURATION_PROFILE

VARCHAR

배포에 사용되는 구성 프로필의 이름입니다. 구성이 지정되지 않은 경우 비어 있습니다.

ERROR_MESSAGE

VARCHAR

배포에 실패한 경우의 오류 메시지입니다. 배포가 성공한 경우 비어 있습니다.

ERROR_CODE

VARCHAR

배포에 실패한 경우의 오류 코드입니다. 배포가 성공한 경우 비어 있습니다.

DATABASE_NAME

VARCHAR

DCM project 가 포함된 데이터베이스입니다.

SCHEMA_NAME

VARCHAR

DCM project 가 포함된 스키마입니다.

EXECUTOR_ROLE

VARCHAR

배포 명령을 실행한 역할입니다.

STATS

VARIANT

카테고리별로 분류된 배포의 요약 통계가 포함된 JSON 오브젝트입니다. 각 카테고리에는 created, altered, dropped 항목의 개수가 포함되어 있습니다. 카테고리에는 entities``(관리 오브젝트), ``columns, grants, ``dmfAttachments``(데이터 메트릭 함수 기대치)가 포함됩니다.

사용법 노트

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

특정 프로젝트에 대한 배포 기록을 검색하며, 3개의 결과로 제한됩니다.

SELECT
  PROJECT_NAME,
  START_TIMESTAMP,
  DEPLOYMENT_NAME,
  DEPLOYMENT_ALIAS,
  STATUS,
  CONFIGURATION_PROFILE,
  EXECUTOR_ROLE
FROM
  TABLE (MY_DB.INFORMATION_SCHEMA.DCM_DEPLOYMENT_HISTORY(
    project_name => 'MY_DB.PROJECTS.MY_PROJECT',
    result_limit => 3
  ));
+----------------+-----------------------------+--------------+------------------+------------+-----------------------+------------------+
| PROJECT_NAME   | START_TIMESTAMP             | DEPLOYMENT   | DEPLOYMENT       | STATUS     | CONFIGURATION_PROFILE | EXECUTOR_ROLE    |
|                |                             | _NAME        | _ALIAS           |            |                       |                  |
+----------------+-----------------------------+--------------+------------------+------------+-----------------------+------------------+
| MY_PROJECT     | 2026-03-20 09:15:22.254     | DEPLOYMENT$3 | staging update   | SUCCESSFUL | STAGE                 | PROJECT_DEPLOYER |
| MY_PROJECT     | 2026-03-19 14:30:10.927     | DEPLOYMENT$2 |                  | FAILED     | DEV                   | PROJECT_DEPLOYER |
| MY_PROJECT     | 2026-03-18 11:00:05.339     | DEPLOYMENT$1 | initial deploy   | SUCCESSFUL | DEV                   | PROJECT_DEPLOYER |
+----------------+-----------------------------+--------------+------------------+------------+-----------------------+------------------+

STATS 열에는 다음 구조의 JSON 오브젝트가 포함되어 있습니다.

{
  "columns": {
    "altered": 0,
    "created": 12,
    "dropped": 0
  },
  "dmfAttachments": {
    "altered": 0,
    "created": 2,
    "dropped": 0
  },
  "entities": {
    "altered": 1,
    "created": 5,
    "dropped": 0
  },
  "grants": {
    "altered": 0,
    "created": 4,
    "dropped": 0
  }
}

지난 24시간 이내에 현재 역할이 액세스할 수 있는 모든 프로젝트의 모든 열을 검색합니다.

SELECT *
FROM TABLE (INFORMATION_SCHEMA.DCM_DEPLOYMENT_HISTORY(
  start_time_range_start => DATEADD(hours, -24, CURRENT_TIMESTAMP())
));