ALTER WAREHOUSE

가상 웨어하우스를 일시 중단 또는 다시 시작하거나 웨어하우스에 대한 모든 쿼리와 기타 SQL 문을 중단합니다. 웨어하우스의 속성 이름을 바꾸거나 속성을 설정/설정 해제하는 데 사용할 수도 있습니다.

참고 항목:

CREATE WAREHOUSE , DESCRIBE WAREHOUSE , DROP WAREHOUSE , SHOW WAREHOUSES

구문

ALTER WAREHOUSE [ IF EXISTS ] [ <name> ] { SUSPEND | RESUME [ IF SUSPENDED ] }

ALTER WAREHOUSE [ IF EXISTS ] [ <name> ] ABORT ALL QUERIES

ALTER WAREHOUSE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER WAREHOUSE [ IF EXISTS ] <name> SET [ objectProperties ]
                                         [ objectParams ]

ALTER WAREHOUSE [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER WAREHOUSE [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER WAREHOUSE [ IF EXISTS ] <name> UNSET { <property_name> | <param_name> } [ , ... ]
Copy

여기서:

objectProperties ::=
  WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }
  WAREHOUSE_SIZE = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE | X5LARGE | X6LARGE }
  WAIT_FOR_COMPLETION = { TRUE | FALSE }
  MAX_CLUSTER_COUNT = <num>
  MIN_CLUSTER_COUNT = <num>
  SCALING_POLICY = { STANDARD | ECONOMY }
  AUTO_SUSPEND = { <num> | NULL }
  AUTO_RESUME = { TRUE | FALSE }
  RESOURCE_MONITOR = <monitor_name>
  COMMENT = '<string_literal>'
  ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }
  QUERY_ACCELERATION_MAX_SCALE_FACTOR = <num>
Copy
objectParams ::=
  MAX_CONCURRENCY_LEVEL = <num>
  STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
  STATEMENT_TIMEOUT_IN_SECONDS = <num>
Copy

속성/매개 변수

name

변경할 웨어하우스의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

참고

다음에 따라 웨어하우스 식별자가 필수 사항이거나 선택 사항입니다.

  • 웨어하우스를 다시 시작/일시 중단하거나 웨어하우스에 대한 쿼리를 중단할 때, 웨어하우스가 세션에 현재 사용 중인 경우 식별자를 생략할 수 있습니다.

  • 웨어하우스 이름을 바꾸거나 웨어하우스에서 다른 작업을 수행할 때, 식별자를 지정해야 합니다.

{ SUSPEND | RESUME [ IF SUSPENDED ] }

웨어하우스에 대해 수행할 동작을 지정합니다.

  • SUSPEND 는 웨어하우스에서 모든 컴퓨팅 노드를 제거하고 웨어하우스를 ‘일시 중단’ 상태로 만듭니다.

  • RESUME [ IF SUSPENDED ] 는 컴퓨팅 리소스를 프로비저닝하여 일시 중단된 웨어하우스를 사용 가능한 ‘실행 중’ 상태로 만듭니다.

    선택적 IF SUSPENDED 절은 이미 실행 중인 웨어하우스를 다시 시작할 때 ALTER WAREHOUSE 명령이 성공적으로 완료되는지 여부를 지정합니다.

    • 이를 생략하면 웨어하우스가 이미 실행 중인 경우 이 명령이 실패하고 오류를 반환합니다.

    • 이를 지정하면 웨어하우스가 실행 중인지 여부와 관계없이 명령이 성공적으로 완료됩니다.

ABORT ALL QUERIES

웨어하우스에서 현재 실행 중이거나 큐에 대기 중인 모든 쿼리를 중단합니다.

RENAME TO new_name

웨어하우스의 새 식별자를 지정하며, 계정에 고유한 식별자여야 합니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

SET ...

웨어하우스를 위해 설정할 하나 이상의 속성/매개 변수를 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).

WAREHOUSE_TYPE = { STANDARD | 'SNOWPARK-OPTIMIZED' }

웨어하우스 유형을 지정합니다.

유효한 값:
  • STANDARD, 'STANDARD'

  • 'SNOWPARK-OPTIMIZED'

기본값:

STANDARD

참고

하이픈을 포함한 값('SNOWPARK-OPTIMIZED')을 사용하려면 표시된 대로 값을 작은따옴표로 묶어야 합니다.

WAREHOUSE_SIZE = string_constant

가상 웨어하우스의 크기를 지정합니다. 이 크기에 따라 각 클러스터의 컴퓨팅 리소스 양이 결정되며, 따라서 웨어하우스가 실행 중인 동안 소비되는 크레딧 수도 결정됩니다.

자세한 내용은 웨어하우스 크기 조정하기 을 참조하십시오.

유효한 값:
  • XSMALL , 'X-SMALL'

  • SMALL

  • MEDIUM

  • LARGE

  • XLARGE , 'X-LARGE'

  • XXLARGE , X2LARGE , '2X-LARGE'

  • XXXLARGE , X3LARGE , '3X-LARGE'

  • X4LARGE , '4X-LARGE'

  • X5LARGE , '5X-LARGE'

  • X6LARGE , '6X-LARGE'

기본값:

XLARGE

참고

  • XSMALL, SMALL, X5LARGE 및 X6LARGE 크기는 Snowpark에 최적화된 웨어하우스를 지원하지 않습니다. Snowpark에 최적화된 웨어하우스의 기본 크기는 MEDIUM입니다.

  • 하이픈을 포함한 값(예: '2X-LARGE')을 사용하려면 표시된 대로 값을 작은따옴표로 묶어야 합니다.

  • 크기 조정이 완료될 때까지 ALTER WAREHOUSE 명령의 즉각적인 반환을 막으려면 WAIT_FOR_COMPLETION 매개 변수를 추가하십시오.

WAIT_FOR_COMPLETION = { TRUE | FALSE }

웨어하우스 크기를 조정할 때 이 매개 변수를 사용하여 크기 조정이 모든 컴퓨팅 리소스의 프로비저닝을 마칠 때까지 ALTER WAREHOUSE 명령의 반환을 차단할 수 있습니다. 더 큰 웨어하우스로 크기를 조정할 때 명령 반환을 차단하면 컴퓨팅 리소스가 완전히 프로비저닝되었고 웨어하우스가 이제 새 리소스를 모두 사용하여 쿼리를 실행할 준비가 되었음을 알리는 역할을 합니다.

유효한 값:
  • TRUE: ALTER WAREHOUSE 명령이 웨어하우스 크기 조정이 완료될 때까지 차단됩니다.

  • FALSE: ALTER WAREHOUSE 명령이 웨어하우스 크기 조정이 완료되기 전에 즉시 반환됩니다.

기본값:

FALSE

참고

  • 이 매개 변수의 값은 지속되지 않으며 이 명령이 반환되기 전에 웨어하우스 크기 조정이 완료되도록 하려면 실행할 때마다 값을 TRUE로 설정해야 합니다.

  • TRUE 로 설정하고 ALTER WAREHOUSE 명령을 중단하면 대기만 중단되고 웨어하우스 크기 조정이 진행됩니다. 웨어하우스 크기를 다시 원래 크기로 조정하려면 또 다른 ALTER WAREHOUSE 명령을 실행해야 합니다.

  • 이 매개 변수는 WAREHOUSE_SIZE 매개 변수와 함께 사용해야 하며, 그렇지 않으면 예외가 발생합니다.

MAX_CLUSTER_COUNT = num

멀티 클러스터 웨어하우스의 최대 클러스터 수를 지정합니다. 단일 클러스터 웨어하우스의 경우 이 값은 항상 1 입니다.

유효한 값:

1 ~ 10

1 보다 큰 값을 지정하면 웨어하우스가 다중 클러스터 웨어하우스임을 나타내지만, 값을 Snowflake Enterprise Edition 또는 그 이상으로만 설정할 수 있습니다.

자세한 내용은 멀티 클러스터 웨어하우스 섹션을 참조하십시오.

기본값:

1 (단일 클러스터 웨어하우스)

Snowflake Enterprise Edition 이상의 경우, (다중 클러스터) 웨어하우스의 고가용성과 최적의 성능을 유지하는 데 도움이 되도록 항상 1 보다 큰 값을 설정하는 것이 좋습니다. 이는 또한 드물긴 하지만 클러스터에 장애가 발생하는 경우에도 연속성 보장에 도움이 됩니다.

MIN_CLUSTER_COUNT = num

멀티 클러스터 웨어하우스의 최소 클러스터 수를 지정합니다.

유효한 값:

1 ~ 10

하지만 MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 보다 작거나 같아야 합니다.

  • 두 매개 변수가 모두 같으면 웨어하우스는 최대화 모드에서 실행됩니다.

  • MIN_CLUSTER_COUNTMAX_CLUSTER_COUNT 미만인 경우, 웨어하우스는 자동 크기 조정 모드에서 실행됩니다.

자세한 내용은 멀티 클러스터 웨어하우스 섹션을 참조하십시오.

기본값:

1

SCALING_POLICY = { STANDARD | ECONOMY }

자동 크기 조정 모드에서 실행 중인 멀티 클러스터 웨어하우스에서 클러스터를 자동으로 시작하고 종료하는 정책을 지정하는 오브젝트 매개 변수입니다.

이 매개 변수에 대한 자세한 설명은 멀티 클러스터 웨어하우스에 대한 크기 조정 정책 설정하기 섹션을 참조하십시오.

AUTO_SUSPEND = { num | NULL }

웨어하우스가 자동으로 일시 중단된 후의 비활성 시간(초)을 지정합니다.

유효한 값:

임의의 정수 0 이상 또는 NULL:

  • 60 보다 작은 값을 설정할 수 있지만, 웨어하우스를 일시 중단하는 백그라운드 프로세스가 약 60초마다 실행되므로 원하거나 예상했던 동작이 이루어지지 않을 수도 있으며, 따라서 이는 웨어하우스 일시 중단에 대해 정확히 제어할 수 있도록 하려는 목적은 아닙니다.

  • 0 또는 NULL 값으로 설정하면 웨어하우스가 일시 중단되지 않는다는 뜻입니다.

기본값:

600 (10분간 아무런 활동이 없으면 웨어하우스가 자동으로 일시 중단됨)

중요

쿼리 워크로드가 웨어하우스를 계속 실행할 필요가 없는 한 AUTO_SUSPEND0 또는 NULL 로 설정하는 것은 권장하지 않습니다. 이로 인해 크레딧과 그에 상응하는 요금이 상당히 많이 소비될 수 있기 때문이며, 특히 규모가 큰 웨어하우스의 경우는 더욱 그러합니다.

자세한 내용은 웨어하우스 고려 사항 섹션을 참조하십시오.

AUTO_RESUME = { TRUE | FALSE }

SQL 문(예: 쿼리)을 웨어하우스에 제출할 때 웨어하우스를 자동으로 다시 시작할지 여부를 지정합니다. FALSE 인 경우 ALTER WAREHOUSE 를 사용하거나 Snowflake 웹 인터페이스를 통해 명시적으로 다시 시작할 때만 웨어하우스가 다시 시작됩니다.

유효한 값:
  • TRUE: 새 쿼리를 제출하면 웨어하우스가 다시 시작됩니다.

  • FALSE: ALTER WAREHOUSE 를 사용하거나 Snowflake 웹 인터페이스를 통해 명시적으로 다시 시작할 때만 웨어하우스가 다시 시작됩니다.

기본값:

TRUE (SQL 문을 웨어하우스에 제출하면 웨어하우스가 자동으로 다시 시작됨)

INITIALLY_SUSPENDED = { TRUE | FALSE }

웨어하우스 변경 시에는 해당 사항 없음

RESOURCE_MONITOR = monitor_name

웨어하우스에 명시적으로 할당된 리소스 모니터의 식별자를 지정합니다. 리소스 모니터가 웨어하우스에 명시적으로 할당되면 모니터가 웨어하우스와 모니터가 할당된 다른 모든 웨어하우스에서 사용하는 월별 크레딧을 제어합니다.

유효한 값:

기존의 리소스 모니터.

자세한 내용은 리소스 모니터 관련 작업하기 섹션을 참조하십시오.

기본값:

값 없음(웨어하우스에 할당된 리소스 모니터 없음)

모든 리소스 모니터와 해당 식별자를 보려면 SHOW RESOURCE MONITORS 명령을 사용하십시오.

COMMENT = 'string_literal'

웨어하우스에 대한 설명을 추가하거나 기존 설명을 덮어씁니다.

MAX_CONCURRENCY_LEVEL = num

웨어하우스 클러스터에서 실행되는 SQL 문의 동시성 수준(즉, 쿼리와 DML)을 지정하는 오브젝트 매개 변수입니다. 해당 수준에 도달할 경우 다음과 같습니다.

  • 단일 클러스터 웨어하우스 또는 (최대화 모드에서) 멀티 클러스터 웨어하우스의 경우, 리소스를 사용할 수 있을 때까지 추가 문이 큐에 대기하는 상태가 됩니다.

  • 멀티 클러스터 웨어하우스의 경우(자동 크기 조정 모드에서) 추가 클러스터가 시작됩니다.

이 매개 변수는 웨어하우스가 백로그되지 않도록 STATEMENT_QUEUED_TIMEOUT_IN_SECONDS 와 함께 사용할 수 있습니다.

이 매개 변수에 대한 자세한 설명은 MAX_CONCURRENCY_LEVEL 섹션을 참조하십시오.

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = num

시스템에서 SQL 문(쿼리, DDL, DML 등)을 취소하기 전에 웨어하우스의 큐에 대기 상태로 둘 수 있는 시간(초)을 지정하는 오브젝트 매개 변수입니다.

이 매개 변수는 웨어하우스가 백로그되지 않도록 MAX_CONCURRENCY_LEVEL 과 함께 사용할 수 있습니다.

이 매개 변수에 대한 자세한 설명은 STATEMENT_QUEUED_TIMEOUT_IN_SECONDS 섹션을 참조하십시오.

STATEMENT_TIMEOUT_IN_SECONDS = num

시스템에서 실행 중인 SQL 문(쿼리, DDL, DML 등)을 취소한 이후의 시간(초)을 지정하는 오브젝트 매개 변수입니다.

이 매개 변수에 대한 자세한 설명은 STATEMENT_TIMEOUT_IN_SECONDS 섹션을 참조하십시오.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

태그 이름과 태그 문자열 값을 지정합니다.

태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.

문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.

ENABLE_QUERY_ACCELERATION = { TRUE | FALSE }

이 웨어하우스에 컴퓨팅 리소스를 의존하는 쿼리에 대해 쿼리 가속 서비스 를 활성화할지 여부를 지정합니다.

유효한 값:
  • TRUE 는 Query Acceleration을 활성화함

  • FALSE 는 Query Acceleration을 비활성화함

기본값:

FALSE: Query Acceleration이 비활성화됨

QUERY_ACCELERATION_MAX_SCALE_FACTOR = num

쿼리 가속을 위한 컴퓨팅 리소스를 임대하는 최대 배율을 지정합니다. 배율은 웨어하우스 크기 를 기반으로 하는 승수로 사용됩니다.

QUERY_ACCELERATION_MAX_SCALE_FACTOR를 0으로 설정하면 제한이 사라지고 쿼리가 쿼리 처리에 필요하고 사용할 수 있는 만큼 리소스를 임대할 수 있습니다.

QUERY_ACCELERATION_MAX_SCALE_FACTOR 값에 관계없이 쿼리 가속에 사용할 수 있는 컴퓨팅 리소스의 양은 서비스에서 사용 가능한 리소스와 다른 동시 요청 수에 따라 제한됩니다. 자세한 내용은 배율 조정하기 섹션을 참조하십시오.

유효한 값:

0 ~ 100

기본값:

8

UNSET ...

데이터베이스에 대해 설정 해제할 하나 이상의 속성 및/또는 매개 변수를 지정하여 이들을 기본값으로 재설정합니다.

  • property_name

  • param_name

    • TAG tag_name [ , tag_name ... ]

단일 ALTER 문으로 여러 속성/매개 변수를 재설정할 수 있지만, 각 속성/매개 변수는 쉼표로 구분해야 합니다. 또한, 속성/매개 변수를 재설정할 때는 이름만 지정하며 값은 필요하지 않습니다.

참고

SET 를 사용해서만 변경할 수 있는 WAREHOUSE_SIZE제외하고 웨어하우스의 모든 속성과 매개 변수를 설정 해제하는 데 UNSET 을 사용할 수 있습니다.

액세스 제어 요구 사항

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

권한

오브젝트

참고

APPLY

태그

웨어하우스에 태그를 설정할 수 있습니다.

MODIFY

웨어하우스

크기 변경 등 웨어하우스의 모든 속성을 변경할 수 있습니다. 리소스 모니터에 웨어하우스를 할당하려면 필수입니다. ACCOUNTADMIN 역할만 리소스 모니터에 웨어하우스를 할당할 수 있습니다.

MONITOR

웨어하우스

웨어하우스에서 실행된 현재 및 과거 쿼리와 해당 웨어하우스에 대한 사용 통계를 볼 수 있습니다.

OPERATE

웨어하우스

웨어하우스의 상태(중지, 시작, 일시 중단, 재개)를 변경할 수 있으며, 웨어하우스에서 실행된 현재 및 과거의 쿼리를 보고 실행 중인 쿼리를 중단할 수 있습니다.

USAGE

웨어하우스

가상 웨어하우스를 사용하여 이를 통해 웨어하우스에 대한 쿼리를 실행할 수 있습니다. SQL 문(예: 쿼리)이 제출될 때 웨어하우스가 자동으로 재개하도록 구성된 경우 자동으로 재개되어 이 문을 실행합니다.

전역 MANAGE WAREHOUSES 권한을 부여하는 것은 계정의 모든 웨어하우스에 대해 MODIFY, MONITOR 및 OPERATE 권한을 부여하는 것과 같습니다. Snowflake 액세스 제어 관리를 단순화하기 위해 목적에 웨어하우스 관리가 포함되는 역할에 이 권한을 부여할 수 있습니다.

자세한 내용은 웨어하우스 관리 위임하기 섹션을 참조하십시오.

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

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

사용법 노트

  • 유형을 제외한 속성을 설정하거나 변경하려고 웨어하우스를 일시 중단할 필요가 없습니다.

  • 웨어하우스 유형을 변경하려면 웨어하우스가 suspended 상태에 있어야 합니다. 다음 문을 실행하여 웨어하우스를 일시 중단합니다.

    ALTER WAREHOUSE mywh SUSPEND;
    
    Copy
  • 웨어하우스 크기가 변경될 때 이로 인해 쿼리를 포함하여 현재 실행 중인 문은 영향을 받지 않습니다. 문이 완료되고 컴퓨팅 리소스가 완전히 프로비저닝되면 모든 후속 문에 새 크기가 사용됩니다.

  • 웨어하우스를 일시 중단해도 일시 중단된 시점에 웨어하우스에서 처리 중인 쿼리는 중단되지 않습니다. 대신, 웨어하우스는 쿼리를 완료한 다음에 쿼리를 처리하는 데 사용되는 컴퓨팅 리소스를 종료합니다. 이 기간 동안 웨어하우스는 정지 중 모드에 있습니다. 모든 컴퓨팅 리소스가 종료되면 웨어하우스의 상태가 일시 중단됨으로 변경됩니다.

  • 메타데이터 관련:

    주의

    고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

  • Snowpark에 최적화된 가상 웨어하우스를 재개하는 시간이 표준 웨어하우스보다 더 오래 걸릴 수 있습니다.

  • Snowpark에 최적화된 웨어하우스는 쿼리 가속 을 지원하지 않습니다.

  • Snowpark에 최적화된 웨어하우스는 XSMall, SMALL, X5LARGE 또는 X6LARGE 웨어하우스 크기에서 지원되지 않습니다.

  • IF EXISTS 절을 지정하려면 사용 중인 역할 또는 웨어하우스에 대한 적절한 웨어하우스 권한 이 있는 활성 역할 계층 구조에 역할이 필요합니다.

웨어하우스 이름을 wh1 에서 wh2 로 바꾸기:

ALTER WAREHOUSE IF EXISTS wh1 RENAME TO wh2;
Copy

my_wh 로 명명된 웨어하우스를 다시 시작한 다음 실행 중인 웨어하우스의 크기 변경:

ALTER WAREHOUSE my_wh RESUME;

ALTER WAREHOUSE my_wh SET warehouse_size=MEDIUM;
Copy