카테고리:

웨어하우스 및 리소스 모니터 DDL

CREATE RESOURCE MONITOR

새 리소스 모니터를 만듭니다. 계정 관리자만 이 명령을 실행할 수 있습니다. 리소스 모니터에 대한 자세한 내용은 리소스 모니터 관련 작업하기 을 참조하십시오.

참고 항목:

ALTER RESOURCE MONITOR , DROP RESOURCE MONITOR , SHOW RESOURCE MONITORS , ALTER WAREHOUSE , ALTER ACCOUNT

구문

CREATE [ OR REPLACE ] RESOURCE MONITOR <name> WITH
                      [ CREDIT_QUOTA = <number> ]
                      [ FREQUENCY = { MONTHLY | DAILY | WEEKLY | YEARLY | NEVER } ]
                      [ START_TIMESTAMP = { <timestamp> | IMMEDIATELY } ]
                      [ END_TIMESTAMP = <timestamp> ]
                      [ NOTIFY_USERS = ( <user_name> [ , <user_name> , ... ] ) ]
                      [ TRIGGERS triggerDefinition [ triggerDefinition ... ] ]

여기서:

triggerDefinition ::=
    ON <threshold> PERCENT DO { SUSPEND | SUSPEND_IMMEDIATE | NOTIFY }

필수 매개 변수

name

리소스 모니터의 식별자로, 계정에 고유한 식별자여야 합니다.

식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

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

선택적 매개 변수

CREDIT_QUOTA = num

빈도 간격당 리소스 모니터에 할당된 크레딧 수입니다. 모니터에 할당된 모든 웨어하우스의 총 사용량이 현재 빈도 간격에 대해 이 수에 도달할 때 리소스 모니터가 할당량의 100% 상태인 것으로 간주됩니다.

리소스 모니터에 대한 값을 지정하지 않으면 모니터에 할당량이 없으며 지정된 간격 내에 100% 사용량에 도달하지 않습니다.

기본값: 값 없음(즉, 크레딧 할당량 없음)

FREQUENCY = MONTHLY | DAILY | WEEKLY | YEARLY | NEVER

크레딧 사용이 0 으로 재설정되는 빈도 간격입니다.

리소스 모니터에 대한 빈도를 설정하는 경우 START_TIMESTAMP 도 설정해야 합니다.

빈도에 NEVER 를 지정하면 웨어하우스의 크레딧 사용이 재설정되지 않습니다.

기본값: 값 없음(즉, 매월 초에 크레딧 할당량이 재설정되는 레거시 동작)

START_TIMESTAMP = timestamp | IMMEDIATELY

리소스 모니터가 할당된 웨어하우스에 대한 크레딧 사용을 모니터링하기 시작하는 날짜와 시간입니다.

리소스 모니터에 대한 타임스탬프를 설정하는 경우 FREQUENCY 도 설정해야 합니다.

시작 타임스탬프에 대해 IMMEDIATELY 를 지정하면 현재 타임스탬프가 사용됩니다.

시간 없이 날짜를 지정하면 현재 시간이 사용됩니다.

타임존을 지정하지 않고 시간을 설정하면, UTC가 기본 타임존으로 사용됩니다.

기본값: 값 없음(즉, 리소스 모니터가 웨어하우스 모니터링을 즉시 시작하는 레거시 동작)

END_TIMESTAMP = timestamp

리소스 모니터가 할당된 웨어하우스를 일시 중단하는 날짜와 시간입니다.

기본값: 값 없음(즉, 웨어하우스 보류 날짜 없음)

NOTIFY_USERS = ( user_name [ , user_name , ... ] )

리소스 모니터에서 이메일 알림을 수신할 사용자 목록을 지정합니다. 사용자 식별자가 공백 또는 특수 문자를 포함하거나 대소문자를 구분하는 경우 식별자는 큰따옴표로 묶어야 합니다(예: 《Mary Smith》). 자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

사용자 식별자 user_nameSHOW USERS 의 출력에서 name 열의 값입니다.

나열된 각 사용자는 확인된 이메일 주소를 가지고 있어야 합니다. 웹 인터페이스에서 이메일 주소 확인에 대한 지침은 다음을 참조하십시오.

관리자가 아닌 사용자에 대한 이메일 알림은 관리자에 대한 이메일 알림을 대체하지 않습니다. 이메일 알림을 활성화한 모든 계정 관리자가 계속해서 이메일 알림을 받게 됩니다.

참고

  • 관리자가 아닌 사용자에게는 다음 제한 사항이 적용됩니다.

    • 관리자가 아닌 사용자는 이메일 알림을 받지만 클래식 웹 인터페이스에서는 알림을 볼 수 없습니다.

    • 관리자가 아닌 사용자는 리소스 모니터를 만들 수 없습니다.

    • 알림은 개별 웨어하우스의 리소스 모니터로 제한됩니다. 관리자가 아닌 사용자는 계정 수준 리소스 모니터에 대한 알림을 받을 수 없습니다.

    • 관리자가 아닌 사용자는 계정 수준 리소스 모니터에 대한 알림을 받을 수 없습니다.

    • 관리자가 아닌 사용자는 알림을 받을 다른 사용자를 지정할 수 없습니다.

TRIGGERS ... (일명 액션)

리소스 모니터에 대한 하나 이상의 트리거를 지정합니다. 각 트리거 정의는 다음으로 구성됩니다.

ON threshold PERCENT

리소스 모니터에 대한 크레딧 할당량의 백분율로 지정된 숫자 값으로, 100 보다 큰 값이 지원됩니다. 사용량이 현재 빈도 간격에 대해 이 임계값에 도달하면 트리거가 실행됩니다.

DO SUSPEND | SUSPEND_IMMEDIATE | NOTIFY

임계값에 도달할 때 트리거가 수행하는 작업을 지정합니다.

  • SUSPEND: 현재 실행 중인 쿼리를 완료하도록 허용하는 동안 할당된 모든 웨어하우스를 일시 중단합니다. 리소스 모니터에 대한 크레딧 할당량이 증가할 때까지 웨어하우스에서 새 쿼리를 실행할 수 없습니다. 또한, 이 작업은 스스로 알림을 활성화한 모든 사용자에게 알림을 보냅니다.

  • SUSPEND_IMMEDIATE: 할당된 모든 웨어하우스를 즉시 일시 중단하고 웨어하우스를 사용하여 현재 실행 중인 쿼리나 문을 취소합니다. 또한, 이 작업은 스스로 알림을 활성화한 모든 사용자에게 알림을 보냅니다.

  • NOTIFY: (알림이 활성화된 모든 계정 관리자에게) 알림을 보내지만, 다른 조치는 취하지 않습니다.

기본값: 값 없음(즉, 리소스 모니터가 아무런 작업도 수행하지 않음)

사용법 노트

  • 트리거는 선택 사항이지만, 적어도 하나 이상의 트리거를 리소스 모니터에 추가해야 어떤 작업이든 수행할 수 있습니다.

  • 각 리소스 모니터는 최대 5개의 NOTIFY 작업 트리거를 지원합니다.

  • 리소스 모니터가 생성된 후 먼저 이를 웨어하우스나 계정에 할당해야 모니터링 작업을 수행할 수 있습니다.

    • 리소스 모니터에 웨어하우스를 할당하려면 ALTER WAREHOUSE 를 사용하십시오(또는 웨어하우스를 만드는 경우 CREATE WAREHOUSE 사용).

    • 계정 수준에서 리소스 모니터를 할당하려면 ALTER ACCOUNT 를 사용하십시오.

  • 계정에서 생성된 모든 리소스 모니터와 해당 할당을 보려면 SHOW RESOURCE MONITORS 명령을 사용하십시오. 이 명령 출력은 계정이나 어떤 웨어하우스에도 할당되지 않아 크레딧 사용을 모니터링하지 않는 리소스 모니터에 대한 level 열에 NULL 을 표시합니다.

  • frequencystart_timestamp 매개 변수가 리소스 모니터에 설정되어 있으면 해당 매개 변수를 기반으로 크레딧 사용량 재설정 날짜가 계산됩니다. 크레딧 사용량이 0 으로 재설정되는 시간은 start_timestamp 에 지정된 시간과 관계없이 오전 12:00 UTC입니다.

  • 알림 목록에서 관리자가 아닌 사용자가 이메일 주소를 변경하고 새 이메일 주소를 확인하지 않으면 알림이 자동으로 실패합니다.

  • 알림 목록은 최대 5명의 관리자 아닌 사용자로 제한됩니다.

  • 계정 관리자는 notify_user 열에서 SHOW RESOURCE MONITORS 의 출력에서 관리자가 아닌 사용자의 알림 목록을 볼 수 있습니다.

  • 메타데이터 관련:

    주의

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

  • CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 이전 오브젝트 삭제와 새 오브젝트 생성이 단일 트랜잭션으로 처리됩니다.

중요

리소스 모니터에서 생성된 알림을 받으려면 계정 관리자가 기본 설정에서 알림을 명시적으로 활성화해야 합니다. 또한, 이메일 알림을 받으려면 계정 관리자가 기본 설정에 확인된 이메일을 설정해 두어야 합니다. 기본 설정은 Snowflake 웹 인터페이스에서만 설정할 수 있습니다. 자세한 내용은 계정 관리자를 위한 알림 수신 활성화하기 섹션을 참조하십시오.

3개의 트리거로 명명된 limiter 리소스 모니터 만들기:

CREATE OR REPLACE RESOURCE MONITOR limiter WITH CREDIT_QUOTA=5000
    TRIGGERS ON 75 PERCENT DO NOTIFY
             ON 100 PERCENT DO SUSPEND
             ON 110 PERCENT DO SUSPEND_IMMEDIATE;

크레딧 할당량의 75%에 도달하면 세 명의 사용자에게 알림을 보내도록 리소스 모니터를 만듭니다. 이 예제에서는 사용자 중 두 명에 대한 user_name 이 공백을 포함하므로 큰따옴표로 묶습니다.

create or replace resource monitor limiter with credit_quota=5000
  notify_users = (jdoe, "jane smith", "john doe")
  triggers on 75 percent do notify
           on 100 percent do suspend
           on 110 percent do suspend_immediate
맨 위로 이동