SHOW TASKS

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

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

참고 항목:

CREATE TASK , ALTER TASK , DROP TASK , DESCRIBE TASK

구문

SHOW [ TERSE ] TASKS [ LIKE '<pattern>' ]
                     [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_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 ] | APPLICATION application_name | APPLICATION PACKAGE application_package_name

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

APPLICATIONAPPLICATION PACKAGE 키워드가 필수는 아니지만, 명명된 Snowflake Native App 의 범위를 지정합니다.

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

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

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

  • :samp:`{db_name}`을 지정하지 않으면 다음이 적용됩니다.

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

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

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

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

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

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

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

  • :samp:`{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' 는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).

출력

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

열 이름

설명

created_on

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

이름

작업의 이름입니다.

id

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

데이터베이스_이름

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

스키마_이름

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

owner

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

comment

작업에 대한 설명입니다.

웨어하우스

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

schedule

작업 실행을 예약합니다. 일정이 지정되지 않았거나 작업이 트리거된 작업인 경우 NULL이 표시됩니다.

scheduling_mode

서버리스 작업이 FIXED인지 또는 FLEXIBLE인지 표시합니다.

  • FIXED의 경우 사용자가 지정한 작업 일정을 기반으로 작업이 실행됩니다.

  • FLEXIBLE인 경우 사용자가 지정한 일정과 작업의 목표 완료 간격에 따라 작업이 실행됩니다.

target_completion_interval

서버리스 작업의 목표 완료 간격입니다. 실행할 컴퓨팅 리소스 크기를 결정하는 데 사용됩니다.

predecessors

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

상태

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

definition

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

조건

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

allow_overlapping_execution

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

error_integration

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

success_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)입니다. . Snowflake Native App 이 오브젝트를 소유한 경우 값은 APPLICATION 입니다. . 삭제된 오브젝트에 소유자 역할이 없으므로 오브젝트를 삭제하는 경우 Snowflake는 NULL을 반환합니다.

구성

For the root task in a task graph, displays the default configuration set in the task definition with CREATE TASK or ALTER TASK. For child tasks in a task graph, displays 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

선행 작업 및 종료자 작업을 포함하여 작업 관계를 설명하는 JSON 오브젝트입니다. 오브젝트에는 다음 필드가 포함될 수 있습니다.

  • Predecessors: 작업에 대한 AFTER 매개 변수에서 식별된 작업의 정규화된 이름으로 구성된 배열입니다. 모든 선행 작업이 성공적으로 실행되어 완료되면 현재 작업을 트리거합니다. 작업에 선행 작업이 없는 경우 이는 빈 배열입니다.

  • FinalizerTask: 이 루트 작업과 연결된 종료자 작업의 정규화된 이름입니다. 종료자 작업이 있는 루트 작업에 대해서만 표시됩니다.

  • FinalizedRootTask: 이 작업이 마무리하는 루트 작업의 정규화된 이름입니다. 종료자 작업에 대해서만 표시됩니다.

Examples:

  • 종료자 작업이 있는 루트 작업: {"Predecessors":[],"FinalizerTask":"MY_DB.MY_SCHEMA.FINALIZE_LONG_RUNNING_TASK"}

  • 종료자 작업: {"FinalizedRootTask":"MY_DB.MY_SCHEMA.LONG_RUNNING_TASK","Predecessors":[]}

  • 선행 작업이 있는 작업: {"Predecessors":["MY_DB.MY_SCHEMA.DEFTASK"]}

execute_as_user

시스템 사용자로 실행되는 경우 NULL로 표시합니다(기본값). 가장된 권한(EXECUTE AS USER)을 사용하여 작업을 실행하는 사용자의 사용자 이름을 표시합니다. 자세한 내용은 사용자 권한으로 작업 실행하기 을 참조하십시오.

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

사용법 노트

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

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

  • 이 명령은 현재 사용자의 현재 역할에 하나 이상의 액세스 권한이 부여된 오브젝트만 반환합니다.

  • MANAGE GRANTS 액세스 권한은 그 권한을 보유한 자가 계정에 있는 모든 오브젝트를 볼 수 있도록 암시적으로 허용합니다. 기본적으로, 계정 관리자(ACCOUNTADMIN 역할 이 있는 사용자)와 보안 관리자(SECURITYADMIN 역할이 있는 사용자)만 MANAGE GRANTS 권한을 가집니다.

  • 이 명령의 출력을 후처리하기 위해 파이프 연산자 (->>) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.

    예를 들어, 파이프 연산자 또는 RESULT_SCAN 함수를 사용하여 SHOW 명령 출력에서 특정 열을 선택하거나 행을 필터링할 수 있습니다.

    출력 열을 참조하는 경우 열 이름에 :ref:`큰따옴표로 묶인 식별자<label-delimited_identifier>`를 사용합니다. 예를 들어, 출력 열 ``type``을 선택하려면 ``SELECT “type”``을 지정합니다.

    SHOW 명령의 출력 열 이름은 소문자이므로 큰따옴표로 묶인 식별자를 사용해야 합니다. 큰따옴표는 SELECT 목록 또는 WHERE 절의 열 이름이 스캔된 SHOW 명령 출력과 일치하도록 보장합니다.

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

    10,000개 이상의 레코드가 있는 결과를 보려면 LIMIT rows 를 포함하거나 Snowflake Information Schema 에서 해당 뷰를 쿼리하십시오.

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

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

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

SHOW TASKS IN tpch.public;
Copy