SHOW SERVICES

액세스 권한이 있는 Snowpark Container Services 서비스 (작업 서비스 포함)를 나열합니다.

  • SHOW SERVICES 출력에는 작업으로 실행되는 서비스도 포함됩니다(EXECUTE JOB SERVICE 참조).

  • SHOW JOB SERVICES는 작업으로 실행 중인 서비스 목록만 제공합니다.

  • SHOW SERVICES EXCLUDE JOBS 출력에는 작업으로 실행 중인 서비스가 포함되지 않습니다.

참고 항목:

CREATE SERVICE , ALTER SERVICE, DROP SERVICE , DESCRIBE SERVICE, SHOW SERVICE INSTANCES IN SERVICE, SHOW SERVICE CONTAINERS IN SERVICE

구문

SHOW [ JOB ] SERVICES [ EXCLUDE JOBS ] [ LIKE '<pattern>' ]
           [ IN
                {
                  ACCOUNT                  |

                  DATABASE                 |
                  DATABASE <database_name> |

                  SCHEMA                   |
                  SCHEMA <schema_name>     |
                  <schema_name>            |

                  COMPUTE POOL <compute_pool_name>
                }
           ]
           [ STARTS WITH '<name_string>' ]
           [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

매개 변수

LIKE 'pattern'

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

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

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

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

[ IN ... ]

선택적으로 명령의 범위를 지정합니다. 다음 중 하나를 지정합니다.

ACCOUNT

전체 계정의 레코드를 반환합니다.

DATABASE, . DATABASE db_name

현재 사용 중인 데이터베이스 또는 지정된 데이터베이스(db_name)의 레코드를 반환합니다.

db_name 없이 DATABASE 를 지정하고 사용 중인 데이터베이스가 없는 경우 키워드는 출력에 아무런 영향도 주지 않습니다.

참고

데이터베이스 컨텍스트에서 IN 절 없이 SHOW 명령을 사용하면 예상보다 적은 결과를 얻을 수 있습니다.

IN 절이 사용되지 않는 경우 같은 이름을 가진 오브젝트는 한 번만 표시됩니다. 예를 들어, schema1t1 테이블, schema2t1 테이블이 있고 두 테이블이 모두 지정한 데이터베이스 컨텍스트의 범위에 있는 경우(즉, 선택한 데이터베이스가 schema1schema2 의 부모인 경우), SHOW TABLES 는 t1 테이블 중 하나만 표시합니다.

SCHEMA, . SCHEMA schema_name

현재 사용 중인 스키마 또는 지정된 스키마(schema_name)의 레코드를 반환합니다.

데이터베이스가 사용 중이거나 정규화된 schema_name (예: db.schema)을 지정하는 경우 SCHEMA 는 선택 사항입니다.

사용 중인 데이터베이스가 없으면 SCHEMA 를 지정해도 출력에 아무런 영향도 주지 않습니다.

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

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

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

STARTS WITH 'name_string'

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

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

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

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

LIMIT rows

선택적으로, 반환되는 최대 행 수를 제한합니다. 반환되는 실제 행 수는 지정된 제한보다 적을 수 있습니다. 예를 들어 기존 오브젝트 수가 지정된 제한보다 적습니다.

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

출력

명령 출력은 다음 열에 서비스 속성과 메타데이터를 제공합니다.

설명

name

Snowpark Container Services 서비스 이름입니다.

status

다음 값 중 하나로, 서비스의 현재 상태를 나타냅니다.

  • PENDING

  • RUNNING

  • FAILED

  • DONE

  • SUSPENDING

  • SUSPENDED

  • DELETING

  • DELETED

  • INTERNAL_ERROR

database_name

서비스가 생성되는 데이터베이스입니다.

schema_name

서비스가 생성되는 스키마입니다.

owner

서비스를 소유한 역할입니다.

compute_pool

Snowflake가 서비스를 실행하는 컴퓨팅 풀 이름입니다.

dns_name

service-name.unique-id.svc.spcs.internal 형식으로 Snowflake에서 할당한 서비스의 DNS 이름입니다.

unique-id 는 데이터베이스 스키마의 특정 인스턴스에 고유한 4~8자의 영숫자 식별자입니다. 스키마에 대한 고유 ID를 찾으려면 SYSTEM$GET_SERVICE_DNS_DOMAIN 함수를 호출합니다. 예:

SELECT SYSTEM$GET_SERVICE_DNS_DOMAIN('mydb.myschema');
Copy

다음 사항을 참고하십시오.

  • 스키마의 이름을 변경해도 식별자는 변경되지 않습니다.

  • 동일한 이름의 스키마를 삭제한 후 다시 생성하면 식별자가 변경됩니다.

DNS 이름을 사용하면 서비스 간 통신이 가능합니다(자습서 3 참조).

current_instances

서비스의 현재 인스턴스 수입니다.

target_instances

Snowflake에서 결정한 대로 실행해야 하는 서비스 인스턴스의 목표 수입니다.

current_instances 값이 target_instances 값과 같지 않을 경우 Snowflake는 서비스 인스턴스를 종료하거나 시작하는 과정에 있는 것입니다.

예를 들어, 다음을 생각해 보겠습니다.

  • MIN_INSTANCES = 1 및 MAX_INSTANCES = 3인 서비스를 생성한다고 가정해 보겠습니다. 서비스가 실행되는 동안 Snowflake는 1개의 인스턴스로는 충분하지 않다고 판단할 수 있습니다. 이 경우 target_instances 의 값이 증가하여 Snowflake가 추가 인스턴스를 시작하는 과정에 있음을 나타냅니다.

    target_instances 값이 current_instances 값보다 작을 가능성도 있는데, 이는 Snowflake가 실행 중인 인스턴스 수를 줄이는 과정에 있음을 나타냅니다.

  • 서비스를 만들지만 요청한 최소 인스턴스 수에 알맞은 용량이 컴퓨팅 풀에 없는 경우 target_instances 의 값은 min_instances 의 값과 같아집니다. current_instances 의 값이 target_instances 의 값보다 작을 것입니다.

min_ready_instances

Snowflake가 요청을 처리할 준비가 되었다고 간주하기 위해 준비되어야 하는 최소 서비스 인스턴스 수를 나타냅니다.

min_instances

Snowflake가 실행해야 하는 최소 서비스 인스턴스 수입니다.

max_instances

Snowflake가 필요할 때 확장할 수 있는 최대 서비스 인스턴스 수입니다.

auto_resume

true 인 경우 Snowflake는 서비스가 일시 중단되거나, 서비스 함수가 호출되거나, 들어오는 요청(수신)이 수신될 때 서비스를 자동으로 재개합니다(서비스 사용하기 참조).

external_access_integrations

서비스와 연결된 외부 액세스 통합 목록입니다. 자세한 내용은 네트워크 송신 구성하기 섹션을 참조하십시오.

created_on

서비스가 만들어진 날짜 및 시간입니다.

updated_on

서비스가 마지막으로 업데이트된 날짜 및 시간입니다.

resumed_on

서비스가 마지막으로 재개된 타임스탬프입니다.

suspended_on

서비스가 마지막으로 일시 중단된 타임스탬프입니다. suspended_on 은 Snowflake가 서비스를 일시 중단할 때 설정되며 서비스가 재개된 후에도 변경되지 않습니다. suspended_on 이 NULL 인 경우 서비스가 일시 중단된 적이 없습니다.

auto_suspend_secs

비활성 상태 지속 시 Snowflake가 서비스를 자동으로 일시 중단하도록 설정된 시간(초)입니다. auto_suspend_secs 를 0으로 설정하거나 설정하지 않은 경우 Snowflake는 서비스를 자동으로 일시 중단하지 않습니다.

comment

서비스 관련 설명입니다.

owner_role_type

오브젝트를 소유하는 역할의 유형(ROLE 또는 DATABASE_ROLE)입니다.

query_warehouse

서비스 컨테이너가 쿼리를 실행하기 위해 Snowflake에 연결하고 사용할 웨어하우스를 명시적으로 지정하지 않으면 Snowflake는 이 웨어하우스를 기본값으로 사용합니다.

is_job

해당 서비스가 작업 서비스인 경우 true, 그렇지 않으면 false. SHOW JOB SERVICES 및 SHOW SERVICES EXCLUDE JOBS는 이 열을 출력에 포함하지 않습니다.

is_async_job

TRUE 인 경우 작업 서비스가 비동기적으로 실행되고 있습니다. 기본적으로 Snowflake는 작업 서비스를 동기식으로 실행합니다. 이 열은 SHOW SERVICES 및 SHOW JOB SERVICES 명령의 출력에는 포함되지만 SHOW SERVICES EXCLUDING JOBS 명령의 출력에는 포함되지 않습니다.

spec_digest

서비스 사양 내용을 나타내는 고유하고 변경 불가능한 식별자입니다.

시간에 따른 spec_digest 열 값의 변화를 관찰하기 위해 서비스 사용자가 SHOW SERVICES 명령을 주기적으로 실행할 수 있습니다. 서비스 사용자가 값의 변경을 발견하면 서비스가 업그레이드되었다고 유추할 수 있습니다.

is_upgrading

Snowflake가 서비스를 업그레이드하는 중인 경우 TRUE.

managing_object_domain

관리 오브젝트의 도메인(예: 서비스를 관리하는 노트북의 도메인). 서비스가 Snowflake 엔터티에 의해 관리되지 않는 경우 NULL.

managing_object_name

관리하는 오브젝트의 이름(예: 서비스를 관리하는 노트북의 이름)입니다. 서비스가 Snowflake 엔터티에 의해 관리되지 않는 경우 NULL.

액세스 제어 요구 사항

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

권한

오브젝트

참고

다음 권한 중 하나: OWNERSHIP, USAGE, MONITOR 또는 OPERATE

서비스

스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

사용법 노트

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

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

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

  • 이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다. 파이프 연산자 를 사용하여 이 명령의 출력을 쿼리할 수도 있습니다.

  • 이 명령은 명령을 실행하는 데 사용된 역할에 대한 액세스 권한에 따라 지정된 오브젝트 유형에 대해 최대 1만 개의 레코드를 반환합니다. 필터를 적용하더라도 1만 개 레코드 제한을 초과하는 레코드는 반환되지 않습니다.

    10,000개 이상의 레코드가 존재하는 결과를 보려면 Snowflake Information Schema 에서 해당 뷰(있는 경우)를 쿼리하십시오.

다음 예에서는 세션에 대한 현재 데이터베이스 및 스키마의 서비스를 나열합니다.

SHOW SERVICES;
Copy

샘플 출력:

+--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+
| name         | status  | database_name | schema_name | owner     | compute_pool          | dns_name                            | current_instances | target_instances | min_ready_instances | min_instances | max_instances | auto_resume | external_access_integrations | created_on                    | updated_on                    | resumed_on | suspended_on | auto_suspend_secs | comment | owner_role_type | query_warehouse | is_job | is_async_job | spec_digest                                                      | is_upgrading | managing_object_domain | managing_object_name |
|--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------|
| ECHO_SERVICE | RUNNING | TUTORIAL_DB   | DATA_SCHEMA | TEST_ROLE | TUTORIAL_COMPUTE_POOL | echo-service.k3m6.svc.spcs.internal |                 1 |                1 |                   1 |             1 |             1 | true        | NULL                         | 2024-11-29 12:12:47.310 -0800 | 2024-11-29 12:12:48.843 -0800 | NULL       | NULL         |                 0 | NULL    | ROLE            | NULL            | false  | false        | edaf548eb0c2744a87426529b53aac75756d0ea1c0ba5edb3cbb4295a381f2b4 | false        | NULL                   | NULL                 |
+--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+

다음 예에서는 하나의 서비스를 나열합니다.

SHOW SERVICES LIMIT 1;
Copy

다음 예에서는 이름에 “echo”가 포함된 서비스를 나열합니다.

SHOW SERVICES LIKE '%echo%';
Copy

다음 예에서는 이름에 “echo”가 포함된 서비스 하나를 나열합니다.

SHOW SERVICES LIKE '%echo%' LIMIT 1;
Copy

다음 예제에서는 작업으로 실행되는 서비스만 나열합니다.

SHOW JOB SERVICES;
Copy