CREATE SNAPSHOT¶
참고
이 작업은 현재 Snowflake의 지원 정책 및 서비스 수준 계약 에 명시된 서비스 수준에 포함되지 않습니다.
지정된 서비스 인스턴스에서 명명된 볼륨의 스냅샷 을 생성하거나 바꿉니다. 현재 스키마에 스냅샷이 생성됩니다.
구문¶
CREATE [ OR REPLACE ] SNAPSHOT [ IF NOT EXISTS ] <name>
FROM SERVICE <service_name>
VOLUME "<volume_name>"
INSTANCE <instance_id>
[ COMMENT = '<string_literal>']
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
필수 매개 변수¶
name
스냅샷의 식별자(즉, 이름)를 지정하는 문자열로, 스냅샷이 생성된 스키마에 대해 고유해야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
FROM SERVICE service_name
서비스의 이름을 지정합니다.
VOLUME "volume_name"
서비스와 관련된 볼륨의 이름을 지정합니다. 스냅샷은 블록 저장소 볼륨에 대해서만 만들 수 있으며 로컬, 메모리 또는 스테이지 볼륨에 대해서는 만들 수 없습니다.
볼륨 이름은 대/소문자를 구분합니다. 따라서 서비스 사양에서 해당 이름과 일치하려면 항상 큰따옴표를 사용해야 합니다.
INSTANCE instance_id
서비스 인스턴스의 인덱스. 서비스 인스턴스 인덱스는 0에서 시작하며 범위는
[0, ..., MAX_INSTANCES - 1]
입니다. SYSTEM$GET_SERVICE_STATUS — 사용되지 않음 함수를 호출하여 관련 정보를 얻을 수 있습니다.
선택적 매개 변수¶
COMMENT = 'string_literal'
서비스에 대한 설명을 지정합니다.
기본값: 값 없음
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
CREATE SNAPSHOT |
스키마 |
|
OPERATE |
서비스 |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
Snowflake는 실행이 완료된 후 약 10분 후에 작업 서비스를 삭제합니다. 작업 서비스에서 사용하는 블록 저장소 볼륨의 내용을 보존하려면 Snowflake가 작업을 삭제하기 전에 스냅샷을 생성해야 합니다. 예를 들어, 저장 프로시저를 사용하여 먼저 작업 서비스를 실행하고 바로 다음에 스냅샷을 만들 수 있습니다.
스키마에는 같은 이름의 스냅샷을 포함할 수 없습니다. 스냅샷 생성 시 스키마에 동일한 이름의 스냅샷이 이미 존재하는 경우, 선택 사항인
OR REPLACE
키워드가 명령에 포함되지 않는 한 오류가 반환되고 스냅샷이 생성되지 않으며, 이 경우 Snowflake는 기존 스냅샷을 삭제하고 새 스냅샷을 생성합니다.중요
DROP SNAPSHOT 또는 CREATE OR REPLACE SNAPSHOT 명령을 사용하여 삭제한 스냅샷은 복원할 수 없습니다.
예¶
볼륨 이름이 “데이터”인 인스턴스 2개(컨테이너 개수는 중요하지 않음)가 있는 서비스를 생성하는 경우, 다음 SQL을 사용하여 첫 번째 인스턴스와 연결된 볼륨의 스냅샷을 생성합니다.
CREATE SNAPSHOT snapshot_0
FROM SERVICE example_service
VOLUME "data"
INSTANCE 0
COMMENT='new snapshot';
두 번째 서비스 인스턴스와 연결된 볼륨의 스냅샷을 생성하려면 앞의 SQL에 INSTANCE 1
을 지정합니다.