SHOW ALERTS

SHOW ALERTS

접근 권한이 있는 알림(alerts)을 나열하는 명령이에요. 이 명령을 사용하여 세션의 현재 데이터베이스와 스키마, 지정된 데이터베이스나 스키마, 또는 전체 계정의 객체를 나열할 수 있어요. 출력에는 각 객체의 메타데이터와 속성이 포함돼요. 객체는 데이터베이스, 스키마, 객체 이름별로 사전식(lexicographic)으로 정렬돼요.

출처: 문서

본문

구문 (Syntax)

SHOW [ TERSE ] ALERTS [ LIKE '<pattern>' ]
                      [ IN
                            {
                              ACCOUNT                                         |
                              DATABASE                                        |
                              DATABASE <db_name>                             |
                              SCHEMA                                          |
                              SCHEMA <schema_name>                           |
                              APPLICATION <application_name>                 |
                              APPLICATION PACKAGE <application_package_name> |
                            }
                      ]
                      [ STARTS WITH '<name_string>' ]
                      [ LIMIT <rows> [ FROM '<name_string>' ] ]

파라미터

  • TERSE — 출력 열의 일부만 반환해요: created_on, name, kind(모든 알림에 대해 NULL 표시), database_name, schema_name, schedule, state.
  • LIKE 'pattern' — 객체 이름으로 명령 출력을 선택적으로 필터링해요. 대소문자 무시 패턴 매칭을 사용하며 SQL 와일드카드 문자(%와 _)를 지원해요. 기본값: 없음.
  • [ IN ... ] — 명령의 범위를 선택적으로 지정해요:
    • ACCOUNT — 전체 계정의 레코드를 반환.
    • DATABASE, DATABASE db_name — 현재 사용 중인 데이터베이스 또는 지정된 데이터베이스의 레코드를 반환. db_name 없이 DATABASE를 지정하고 사용 중인 데이터베이스가 없다면 키워드는 출력에 영향이 없어요.
    • SCHEMA, SCHEMA schema_name — 현재 사용 중인 스키마 또는 지정된 스키마의 레코드를 반환.
    • APPLICATION application_name, APPLICATION PACKAGE application_package_name — 명명된 Snowflake Native App 또는 애플리케이션 패키지의 레코드를 반환. IN ...을 생략하면 세션에 현재 사용 중인 데이터베이스가 있는지에 따라 범위가 달라져요.
  • STARTS WITH 'name_string' — 객체 이름 시작 부분에 나타나는 문자를 기반으로 출력을 필터링해요. 문자열은 작은따옴표로 묶어야 하며 대소문자를 구분해요. 기본값: 없음.
  • 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'는 결과가 있어요.

출력 (Output)

명령 출력은 객체의 속성과 메타데이터를 설명하는 다음 열을 포함해요:

Column Description
created_on 알림이 생성된 날짜와 시간.
name 알림의 이름.
database_name 알림이 저장된 데이터베이스.
schema_name 알림이 저장된 스키마.
owner 알림을 소유한 역할(즉 알림에 OWNERSHIP 권한이 있는 역할).
comment 알림에 대한 주석.
warehouse 알림 실행에 필요한 리소스를 제공하는 웨어하우스.
schedule 알림의 조건을 평가할 일정.
state 알림의 상태를 지정해요. 알림은 suspended 또는 started 상태 중 하나일 수 있어요.
condition 알림이 트리거되어야 할 때 조건 역할을 하는 SQL 문장의 텍스트.
action 알림이 트리거될 때 실행되어야 하는 SQL 문장의 텍스트.
owner_role_type 객체를 소유한 역할의 유형(예: ROLE). Snowflake Native App이 객체를 소유하면 값은 APPLICATION이에요. 삭제된 객체에는 소유자 역할이 없으므로 Snowflake는 NULL을 반환해요.
runbook 이 알림에 대한 런북의 URL 또는 자유 형식 참조. 설정되지 않으면 NULL 반환.
config 알림에 저장된 JSON 구성 문자열. CREATE ALERT … CONFIG 또는 ALTER ALERT … SET CONFIG로 설정돼요. 설정되지 않으면 NULL 반환.
was_auto_suspended 알림의 자동 일시 중지 상태: TRUE(알림이 자동 일시 중지로 현재 일시 중지됨), FALSE(알림이 이전에 자동 일시 중지되었지만 재개됨), NULL(알림이 자동 일시 중지된 적 없음).

참고: runbook, config, was_auto_suspended 열은 BCR 2026_04부터 사용할 수 있어요.

접근 제어 요구사항 (Access control requirements)

이 SQL 명령을 실행하는 역할은 최소한 다음 권한 중 하나를 가져야 해요:

Privilege Object Notes
MONITOR, OPERATE, 또는 OWNERSHIP Alert OWNERSHIP은 객체 생성 역할에 자동 부여되는 특수 권한이지만, 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요.

스키마에서 객체를 운영하려면 부모 데이터베이스에 대한 권한이 하나 이상, 부모 스키마에 대한 권한이 하나 이상 필요해요.

사용 메모 (Usage notes)

  • 알림 소유자(즉 알림에 OWNERSHIP 권한이 있는 역할) 또는 알림에 OPERATE 권한이 있는 역할에 대해서만 행을 반환해요.
  • 이 명령은 실행하는 데 실행 중인 웨어하우스가 필요하지 않아요.
  • 이 명령은 현재 사용자의 현재 역할에 접근 권한이 하나 이상 부여된 객체만 반환해요.
  • MANAGE GRANTS 접근 권한은 보유자가 계정의 모든 객체를 볼 수 있게 암시적으로 허용해요.
  • 출력 열 이름은 소문자이므로 출력 열을 참조할 때 큰따옴표로 묶은 식별자를 사용해요(예: SELECT "type").
  • LIMIT rows 값은 10000을 초과할 수 없어요. 1만 개 이상의 레코드가 있는 결과를 보려면 LIMIT rows를 포함하거나 해당하는 Snowflake Information Schema 뷰를 쿼리해요.

예시 (Examples)

알림에 대한 자세한 정보 보기는 별도 안내를 참조해요.

더 알아보기 (Learn more)