SHOW TASKS

액세스 권한이 있는 작업을 나열합니다. 이 명령을 사용해 현재/지정된 데이터베이스 또는 스키마 또는 전체 계정에 대한 작업을 나열할 수 있습니다.

출력은 데이터베이스, 스키마, 작업 이름을 기준으로 사전순으로 정렬된 작업 메타데이터와 속성을 반환합니다(출력 열에 대한 설명은 이 항목의 출력 참조). 제공된 필터를 사용해 결과를 필터링하려는 경우 이 점에 유의해야 합니다.

참고 항목:

CREATE TASK , ALTER TASK , DROP TASK , DESCRIBE TASK

구문

SHOW [ TERSE ] TASKS [ LIKE '<pattern>' ]
                     [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] } ]
                     [ STARTS WITH '<name_string>' ]
                     [ ROOT ONLY ]
                     [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

매개 변수

TERSE

출력 열의 서브세트만 반환합니다.

  • created_on

  • 이름

  • kind(모든 작업 레코드에 대해 NULL을 표시함)

  • 데이터베이스_이름

  • 스키마_이름

  • schedule

LIKE 'pattern'

오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(%_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.

예를 들어, 다음 패턴은 같은 결과를 반환합니다.

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 기본값: 값 없음(출력에 필터링이 적용되지 않음).

IN ACCOUNT | DATABASE [ db_name ] | SCHEMA [ schema_name ]

명령의 범위를 선택적으로 지정하여 이 명령이 현재/지정된 데이터베이스 또는 스키마의 레코드만 나열할지, 아니면 전체 계정의 레코드를 나열할지 여부를 결정합니다.

키워드 ACCOUNT 를 지정하는 경우 이 명령은 현재 계정의 모든 데이터베이스에 있는 모든 스키마의 레코드를 검색합니다.

키워드 DATABASE 를 지정하면 다음 사항이 적용됩니다.

  • db_name 을 지정하는 경우 이 명령은 지정된 데이터베이스의 모든 스키마의 레코드를 검색합니다.

  • db_name 을 지정하지 않으면 다음 사항이 적용됩니다.

    • 현재 데이터베이스가 있는 경우 이 명령은 현재 데이터베이스의 모든 스키마의 레코드를 검색합니다.

    • 현재 데이터베이스가 없는 경우 이 명령은 계정의 모든 데이터베이스 및 스키마의 레코드를 검색합니다.

키워드 SCHEMA 를 지정하면 다음 사항이 적용됩니다.

  • 정규화된 스키마 이름(예: my_database.my_schema)을 지정하는 경우 이 명령은 지정된 데이터베이스 및 스키마의 레코드를 검색합니다.

  • 정규화되지 않은 schema_name 을 지정하면 다음 사항이 적용됩니다.

    • 현재 데이터베이스가 있는 경우 이 명령은 현재 데이터베이스의 지정된 스키마의 레코드를 검색합니다.

    • 현재 데이터베이스가 없는 경우 이 명령은 SQL compilation error: Object does not exist, or operation cannot be performed 오류 메시지를 표시합니다.

  • schema_name 을 지정하지 않으면 다음 사항이 적용됩니다.

    • 현재 데이터베이스가 있으면 다음 사항이 적용됩니다.

      • 현재 스키마가 있는 경우 이 명령은 현재 데이터베이스의 현재 스키마의 레코드를 검색합니다.

      • 현재 스키마가 없는 경우 이 명령은 현재 데이터베이스의 모든 스키마의 레코드를 검색합니다.

    • 현재 데이터베이스가 없는 경우 이 명령은 계정의 모든 데이터베이스 및 모든 스키마의 레코드를 검색합니다.

기본값: 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.

  • 데이터베이스: DATABASE 가 기본값입니다(즉, 이 명령은 데이터베이스에서 볼 권한이 있는 오브젝트를 반환함).

  • 데이터베이스 없음: ACCOUNT 가 기본값입니다(즉, 이 명령은 계정에서 볼 권한이 있는 오브젝트를 반환함).

STARTS WITH 'name_string'

오브젝트 이름의 시작 부분에 나타나는 문자를 기반으로 명령 출력을 선택적으로 필터링합니다. 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.

예를 들어, 다음 문자열은 서로 다른 결과를 반환합니다.

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. 기본값: 값 없음(출력에 필터링이 적용되지 않음)

ROOT ONLY

루트 작업(선행 작업이 없는 작업)만 반환하도록 명령 출력을 필터링합니다.

LIMIT rows [ FROM 'name_string' ]

반환되는 최대 행 수를 선택적으로 제한하는 동시에, 결과의 “페이지 매김”도 활성화합니다. 반환되는 실제 행 수는 지정된 제한보다 적을 수 있습니다. 예를 들어 기존 오브젝트 수가 지정된 제한보다 적습니다.

선택적 FROM 'name_string' 하위 절은 사실상 결과에 대한 “커서” 역할을 합니다. 그 덕분에 오브젝트 이름이 지정된 문자열과 일치하는 첫 번째 행 다음에 오는 행을 지정된 개수만큼 가져올 수 있습니다.

  • 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.

  • 부분 이름이 지원되므로, 문자열이 전체 오브젝트 이름을 포함할 필요는 없습니다.

기본값: 값 없음(출력에 제한이 적용되지 않음)

참고

FROM 'name_string'STARTS WITH 'name_string' 절을 모두 지원하는 SHOW 명령의 경우 동일한 문에서 이러한 절을 모두 결합할 수 있습니다. 하지만 두 가지 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 아무런 결과도 반환되지 않습니다.

또한, 오브젝트는 이름을 기준으로 사전순으로 반환되므로, FROM 'name_string'STARTS WITH 'name_string' 에서 반환된 행보다 사전 값이 더 높은 행만 반환합니다.

예:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' 는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).

사용법 노트

  • 작업 소유자(즉, 작업에 대한 OWNERSHIP 권한을 가진 역할) 또는 작업에 대한 MONITOR 또는 OPERATE 권한을 가진 역할에 대한 행만 반환합니다.

  • 이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.

  • LIMIT rows 의 값은 10000 을 초과할 수 없습니다. LIMIT rows 가 생략된 경우 결과 세트의 행 수가 10,000개를 넘는 경우 이 명령을 실행하면 오류가 발생합니다.

  • 이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다.

출력

명령 출력은 다음 열에 작업 속성 및 메타데이터를 제공합니다.

열 이름

설명

created_on

작업이 만들어진 날짜 및 시간입니다.

이름

작업의 이름입니다.

id

각 작업의 고유 식별자입니다. (CREATE OR REPLACE TASK를 사용해) 작업을 다시 만들면 기본적으로 새 작업이 생성되고, 이 작업은 새로운 ID를 갖습니다.

데이터베이스_이름

작업이 저장된 데이터베이스입니다.

스키마_이름

작업이 저장된 스키마입니다.

owner

작업을 소유하는 역할(즉, 작업에 대한 OWNERSHIP 권한이 있음)

comment

작업에 대한 설명입니다.

웨어하우스

작업을 실행하는 데 필요한 리소스를 제공하는 웨어하우스입니다.

schedule

작업 실행을 예약합니다. 일정이 지정되지 않은 경우, NULL을 표시합니다.

predecessors

작업에 대한 AFTER 매개 변수에서 식별된 모든 작업(즉, 선행 작업)으로 구성된 JSON 배열입니다. 성공적으로 실행되어 완료되면 이러한 작업이 현재 작업을 트리거합니다. 배열의 개별 작업 이름은 정규화됩니다(즉, 컨테이너 데이터베이스 및 스키마 이름 포함). . . 그 작업에 선행 작업이 없으면 빈 배열을 표시합니다.

상태

작업의 현재 상태에 따라 ‘시작됨’ 또는 ‘일시 중단됨’입니다.

definition

작업이 실행될 때 실행되는 SQL 문입니다.

조건

작업에 대한 WHEN 절에 지정된 조건입니다.

allow_overlapping_execution

작업 그래프 에서 루트 작업의 경우, 작업 그래프의 중복 실행이 명시적으로 허용되면 TRUE를 표시합니다. 작업 그래프의 하위 작업인 경우 NULL을 표시합니다.

error_integration

작업에 대한 오류 알림을 전달하기 위해 Amazon Simple Notification Service(SNS), Google Pub/Sub 또는 Microsoft Azure Event Grid에 액세스하는 데 사용되는 알림 통합의 이름입니다.

last_committed_on

작업의 버전 이 마지막으로 설정된 타임스탬프입니다. 아무런 버전도 설정되지 않은 경우(즉, 작업이 생성된 후 재개되거나 수동으로 실행되지 않은 경우) 이 값은 NULL입니다.

last_suspended_on

작업이 마지막으로 일시 중단된 타임스탬프입니다. 루트 작업과 하위 작업 모두의 타임스탬프를 표시합니다. 작업이 아직 일시 중단되지 않은 경우 이 값은 NULL입니다.

owner_role_type

오브젝트를 소유하는 역할 유형(ROLE 또는 DATABASE_ROLE)입니다. . Snowflake Native App 이 오브젝트를 소유한 경우 값은 APPLICATION 입니다. . 삭제된 오브젝트에 소유자 역할이 없으므로 오브젝트를 삭제하는 경우 Snowflake는 NULL을 반환합니다.

구성

작업 그래프에서 루트 작업에 대해 존재하는 경우 구성을 표시하며, 그렇지 않으면 NULL을 표시합니다. 작업 그래프의 하위 작업인 경우 NULL을 표시합니다.

예산

오브젝트가 예산으로 모니터링되는 경우 예산 의 이름입니다. 그렇지 않으면 NULL입니다.

last_suspended_reason

작업이 일시 중단된 이유를 표시합니다. 가능한 이유에는 다음이 포함됩니다.

  • USER_SUSPENDED: 사용자가 alter task <name> suspend 명령을 실행하여 작업을 일시 중단했습니다.

  • SCHEMA_OR_DATABASE_DELETED: 작업의 스키마 또는 데이터베이스가 삭제되었습니다.

  • GRANT_OWNERSHIP: 사용자가 grant ownership 명령을 실행하여 작업 소유권을 다른 역할로 이전했습니다.

  • SUSPENDED_DUE_TO_ERRORS: 작업이 특정 횟수만큼 연속으로 실패하여 일시 중단되었습니다. 이 작업을 일시 중단하는 데 필요한 실패 횟수에 대해 SUSPEND_TASK_AFTER_NUM_FAILURES 매개 변수를 설정할 수 있습니다.

  • CHILD_BECAME_ROOT: 작업은 이전에 작업 그래프에서 하위 작업이었지만, 하위 작업의 모든 선행 작업이 제거되고 하위 작업이 루트 작업이 되었습니다.

  • FINALIZER_BECAME_ROOT: 작업은 이전에 작업 그래프에서 종료자 작업이었지만, 최종 승인이 제거되고 작업이 루트 작업이 되었습니다.

  • MATCHING_OWNER_NOT_FOUND: 작업 복제 중에 보조 데이터베이스에서 작업을 소유한 역할을 찾을 수 없습니다.

작업이 일시 중단된 적이 없거나 열이 2023_08 번들(일반적으로 활성화됨) 로 도입되기 전에 작업이 마지막으로 일시 중단된 경우 NULL을 표시합니다.

task_relations

predecessors 열을 대체합니다. 작업에 대한 AFTER 매개 변수에서 식별된 모든 작업(즉, 선행 작업)으로 구성된 JSON 배열을 표시합니다. 성공적으로 실행되어 완료되면 이러한 작업이 현재 작업을 트리거합니다. 배열의 개별 작업 이름은 정규화됩니다(즉, 컨테이너 데이터베이스 및 스키마 이름 포함). . . 그 작업에 선행 작업이 없으면 빈 배열을 표시합니다.

작업에 대해 지정할 수 있는 속성에 대한 자세한 내용은 CREATE TASK 를 참조하십시오.

tpch.public 스키마에서 볼 권한이 있고 이름이 line 으로 시작하는 모든 작업을 표시합니다.

SHOW TASKS LIKE 'line%' IN tpch.public;
Copy

tpch.public 스키마에서 볼 권한이 있는 모든 작업을 표시합니다.

SHOW TASKS IN tpch.public;
Copy