ALTER ALERT

기존 경고의 속성을 수정하고 기존 경고 를 일시 중단하거나 다시 시작합니다.

참고 항목:

CREATE ALERT , DESCRIBE ALERT, DROP ALERT , SHOW ALERTS , EXECUTE ALERT

구문

ALTER ALERT [ IF EXISTS ] <name> { RESUME | SUSPEND };

ALTER ALERT [ IF EXISTS ] <name> SET
  [ WAREHOUSE = <string> ]
  [ SCHEDULE = '{ <number> MINUTE | USING CRON <expr> <time_zone> }' ]
  [ COMMENT = '<string_literal>' ]

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

ALTER ALERT <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

ALTER ALERT [ IF EXISTS ] <name> UNSET COMMENT

ALTER ALERT [ IF EXISTS ] <name> MODIFY CONDITION EXISTS (<condition>)

ALTER ALERT [ IF EXISTS ] <name> MODIFY ACTION <action>
Copy

매개 변수

name

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

{ RESUME | SUSPEND }

경고에 대해 수행할 동작을 지정합니다.

  • RESUME 은 일시 중단된 경고를 활성화합니다.

  • SUSPEND 는 경고를 “일시 중단됨” 상태로 설정합니다.

경고 일정이 간격(즉, num MINUTE)으로 설정된 경우, 모호성을 피하기 위해 경고가 다시 시작될 때 일정의 기본 간격 시간 이 현재 시간으로 재설정됩니다.

기본 간격 시간은 현재 시계 시간부터 간격 카운터를 시작합니다. 예를 들어 경고가 10 MINUTE 로 생성되고 오전 9:03에 다시 시작될 경우 경고가 오전 9:13, 오전 9:23 등에 실행됩니다. 당사는 절대 정밀도를 보장하기 위해 최선을 다하지만, 설정된 간격이 발생하기 전에 경고가 실행되지 않는다는 것만 보장합니다(예: 현재 예에서 경고는 오전 9:14에 처음 실행될 수 있지만, 오전 9:12에는 확실히 실행되지 않음).

SET ...

경고를 위해 설정할 하나 이상의 속성을 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).

WAREHOUSE = warehouse_name

이 경고를 실행하기 위한 컴퓨팅 리소스를 제공하는 가상 웨어하우스를 지정합니다.

SCHEDULE ...

경고의 조건을 주기적으로 평가하기 위한 일정을 지정합니다.

다음 방법 중 하나로 일정을 지정할 수 있습니다.

  • USING CRON expr time_zone

    경고의 조건을 주기적으로 평가하기 위한 cron 식과 타임존을 지정합니다. 표준 cron 유틸리티 구문의 서브세트를 지원합니다.

    cron 식은 다음 필드로 구성됩니다.

    # __________ minute (0-59)
    # | ________ hour (0-23)
    # | | ______ day of month (1-31, or L)
    # | | | ____ month (1-12, JAN-DEC)
    # | | | | _ day of week (0-6, SUN-SAT, or L)
    # | | | | |
    # | | | | |
      * * * * *
    
    Copy

    다음 특수 문자가 지원됩니다.

    특수 문자

    설명

    *

    와일드카드. 지정된 필드에 대해 지정하면 해당 필드에 대해 모든 시간 단위에서 경고가 실행됩니다.

    예를 들어 월 필드에 * 를 지정하면 경고가 매달 실행됩니다.

    L

    “last(마지막)”를 의미합니다. day-of-month(요일) 필드에 사용하면 해당 월의 “마지막 금요일”(“5L”)과 같은 구문을 지정할 수 있습니다. day-of-month 필드에서는 해당 월의 마지막 요일을 지정합니다.

    /n

    주어진 시간 단위의 n 번째 인스턴스를 나타냅니다. 시간의 각 양은 독립적으로 계산됩니다.

    예를 들어, 월 필드에 4/3 이 지정된 경우 조건의 평가는 4월, 7월, 10월로 예약됩니다(즉, 해당 연도의 4번째 달부터 3개월마다).

    다음 해에도 동일한 일정이 유지됩니다. 즉, 조건은 1월(10월 실행 후 3개월)에 실행되도록 예약되지 않습니다.

    참고

    • cron 식은 현재 지정된 타임존에 대해서만 계산됩니다. 계정에 대한 TIMEZONE 매개 변수 값을 변경하는 것(또는 사용자 또는 세션 수준에서 값을 설정)은 경고의 타임존을 변경하지는 않습니다.

    • cron 식은 경고의 조건 평가를 위한 모든 유효한 시간을 정의합니다. Snowflake는 이 일정에 따라 조건을 평가하려고 시도합니다. 그러나 다음 유효한 실행 시간이 시작되기 전에 이전 실행이 완료되지 않은 경우, 유효한 실행 시간을 건너뜁니다.

    • 특정 일자와 요일이 cron 식에 포함된 경우, 일자 또는 요일 중 하나를 만족하는 날짜에 조건 평가가 예약됩니다. 예를 들어, SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC' 는 해당 월의 10일에서 20일 사이에서 0AM에 평가를 예약하고 해당 날짜 이외의 모든 화요일이나 목요일에도 작업을 예약합니다.

  • num MINUTE

    경고 평가 사이에 삽입되는 대기 시간의 간격(분)을 지정합니다. 양의 정수만 허용합니다.

    또한 num M 구문을 지원합니다.

    모호성을 피하기 위해 경고가 재개될 때 기본 간격 시간 이 설정됩니다(ALTER ALERT … RESUME 사용).

    기본 간격 시간은 현재 시계 시간부터 간격 카운터를 시작합니다. 예를 들어 경고가 10 MINUTE 로 생성되고 오전 9:03에 다시 시작될 경우 경고의 조건이 오전 9:13, 오전 9:23 등에 평가됩니다. 당사는 절대 정밀도를 보장하기 위해 최선을 다하지만, 설정된 간격이 발생하기 전에 조건이 평가되지 않는다는 것만 보장합니다(예: 현재 예에서 조건은 오전 9:14에 처음 평가될 수 있지만, 오전 9:12에는 확실히 평가될 수 없음).

    참고

    지원되는 최대값은 11520 (8일)입니다. num MINUTE 값이 더 큰 경고는 조건이 평가된 적 없습니다.

COMMENT = 'string_literal'

경고에 대한 설명을 지정합니다.

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

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

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

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

UNSET ...

경고에 대해 설정 해제할 하나 이상의 속성/매개 변수를 지정하여 이들을 다시 기본값으로 재설정합니다.

  • TAG tag_key [ , tag_key ... ]

  • COMMENT

MODIFY CONDITION EXISTS (condition)

경고 조건을 나타내는 SQL 문을 지정합니다. 다음 명령을 사용할 수 있습니다.

문이 하나 이상의 행을 반환하면 경고에 대한 동작이 실행됩니다.

MODIFY ACTION action

조건이 행을 하나 이상 반환하는 경우 실행해야 하는 SQL 문을 지정합니다.

이메일 알림을 보내려면 SYSTEM$SEND_EMAIL() 저장 프로시저를 호출하면 됩니다.

액세스 제어 요구 사항

이 SQL 명령을 실행하려면 최소한 다음 권한 이 있는 역할 이 필요합니다.

  • 경고를 다시 시작하는 방법은 다음과 같습니다.

    • 경고에 대한 OWNERSHIP 권한이 있는 역할에는 전역 EXECUTE ALERT 권한도 있어야 합니다.

    • ALTER ALERT를 실행하는 역할에는 경고에 대한 OPERATE 또는 OWNERSHIP 권한이 있어야 합니다.

  • 경고를 일시 중단하려면 ALTER ALERT를 실행하는 역할에 경고에 대한 OPERATE 또는 OWNERSHIP 권한이 있어야 합니다.

  • 경고의 속성을 수정하려면 ALTER ALERT를 실행하는 역할에 경고에 대한 OWNERSHIP 권한이 있어야 합니다.

스키마의 모든 오브젝트에 대해 작업하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한도 필요합니다.

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

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

사용법 노트

  • 경고가 다시 시작되면 Snowflake는 경고에 대한 OWNERSHIP 권한을 가진 역할에 경고에 할당된 웨어하우스에 대한 USAGE 권한뿐 아니라 전역 EXECUTE ALERT 권한도 있는지 확인하며, 그렇지 않으면 오류가 생성됩니다.

  • 계정 관리자(ACCOUNTADMIN 역할을 가진 사용자)만 역할에 EXECUTE ALERT 권한을 부여할 수 있습니다. 사용 편의성을 위해, 사용자 지정 역할(예: 경고_관리자)을 만들고 이 역할에 EXECUTE ALERT 권한을 할당하는 것이 좋습니다. 권한을 부여할 수 있는 모든 역할(예: SECURITYADMIN 또는 MANAGE GRANTS 권한을 가진 역할)은 이 사용자 지정 역할을 경고 소유자 역할에 부여하여 자체 경고를 변경하도록 허용할 수 있습니다. 사용자 지정 역할 및 역할 계층 구조를 만들기 위한 지침은 액세스 제어 구성하기 을 참조하십시오.

  • CREATE ALERT 또는 ALTER ALERT를 실행할 때 다음을 포함하여 조건 및 작업의 문에 대해 일부 유효성 검사가 수행되지 않습니다.

    • 오브젝트 식별자의 확인입니다.

    • 식 데이터 타입의 확인입니다.

    • 함수 호출에서 인자의 수와 유형에 대한 확인입니다.

    조건이나 작업에 대한 SQL 문이 유효하지 않은 식별자, 잘못된 데이터 타입, 잘못된 함수 인자 수 및 유형 등을 지정하는 경우 CREATE ALERT 및 ALTER ALERT 명령은 실패하지 않습니다. 대신 경고 실행 시 오류가 발생합니다.

    기존 경고의 실패 여부를 확인하려면 ALERT_HISTORY 테이블 함수를 사용하십시오.

    이러한 유형의 실패를 방지하려면 알림에 대한 조건과 작업을 지정하기 전에 해당 조건과 작업의 SQL 식과 문을 확인하십시오.

  • 메타데이터 관련:

    주의

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

경고 일시 중단 및 재개하기 섹션을 참조하십시오.