데이터 이동 규칙 변경
데이터 이동 규칙 변경 (ALTER DATA MOVEMENT RULE)
이 기능은 Enterprise Edition(이상)이 필요해요. 업그레이드에 대해 문의하려면 Snowflake Support에 연락해 주세요.
기존 data movement rule의 MAX_ROWS 표현식을 대체하고, 해당 규칙의 주석을 설정하거나 해제하며, 규칙 이름을 변경해요.
규칙에 대한 변경 사항은 해당 규칙을 사용하는 data movement policy가 다음에 평가될 때 적용돼요.
참조:
CREATE DATA MOVEMENT RULE , DROP DATA MOVEMENT RULE , SHOW DATA MOVEMENT RULES , DESCRIBE DATA MOVEMENT RULE
CREATE DATA MOVEMENT POLICY , ALTER DATA MOVEMENT POLICY , DROP DATA MOVEMENT POLICY
출처: 문서
본문
구문
ALTER DATA MOVEMENT RULE [ IF EXISTS ]
SET MAX_ROWS AS () RETURNS INTEGER
-> ( )
ALTER DATA MOVEMENT RULE [ IF EXISTS ] SET COMMENT = ''
ALTER DATA MOVEMENT RULE [ IF EXISTS ] UNSET COMMENT
ALTER DATA MOVEMENT RULE [ IF EXISTS ] RENAME TO
매개 변수
name
변경할 데이터 이동 규칙의 식별자를 지정해요.
식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶인 식별자는 대소문자도 구분해요.
자세한 내용은 Identifier requirements를 참조해요.
RENAME TO new_name
데이터 이동 규칙의 새 식별자를 지정해요. 스키마 내에서 고유해야 해요. 새 식별자는 다른 데이터 이동 규칙에 이미 사용 중인 경우에는 사용할 수 없어요.
자세한 내용은 Identifier requirements를 참조해요.
객체를 선택적으로 이름을 바꾸면서 다른 데이터베이스 및/또는 스키마로 이동할 수 있어요. 이렇게 하려면 각각 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 새 데이터베이스 및/또는 스키마 이름을 포함하는 정규화된 new_name 값을 지정해요.
- 대상 데이터베이스 및/또는 스키마가 이미 존재해야 해요. 또한 같은 이름의 객체가 새 위치에 이미 존재하면 안 돼요. 그렇지 않으면 문이 오류를 반환해요.
- 객체 소유자(즉, 객체에 대한 OWNERSHIP 권한이 있는 역할)가 대상 스키마도 소유하지 않는 한, 객체를 관리형 액세스 스키마로 이동하는 것은 금지되어 있어요.
SET ...
데이터 이동 규칙에 설정할 하나 이상의 속성을 지정해요:
MAX_ROWS AS () RETURNS INTEGER -> ( expression )
INTEGER를 반환하는 SQL 표현식 본문으로, 이동 유형이 이동할 수 있는 최대 행 수를 설정해요.
반환 값은 동작을 결정해요:
NULL- 행 수에 제한이 없어요.0- 이동을 차단해요.- 양의 정수 - 이동 유형이 이동할 수 있는 최대 행 수예요.
표현식에는 CASE 및 기타 논리 문이 포함될 수 있어요. SYS_CONTEXT를 호출하여 세션 및 이동 컨텍스트를 읽고 반환된 제한을 그에 맞게 조정할 수 있어요.
COMMENT = 'string_literal'
데이터 이동 규칙에 대한 주석을 추가하거나 기존 주석을 덮어써요.
기본값: 값 없음
UNSET ...
데이터 이동 규칙에 대해 설정을 해제할 속성을 지정하며, 해당 속성을 기본값으로 재설정합니다:
COMMENT
단일 ALTER 문으로 여러 속성이나 파라미터를 설정 해제하려면 각 속성이나 파라미터를 쉼표로 구분하세요.
속성이나 파라미터를 설정 해제할 때는 속성 또는 파라미터 이름만 지정하세요 (위 구문에서 값을 지정해야 한다고 표시되지 않은 경우). 값을 지정하면 오류가 반환됩니다.
접근 제어 요구 사항
이 작업을 실행하려면 role에 다음 privileges이 최소한 있어야 합니다:
| 권한 | 객체 | 참고 사항 |
|---|---|---|
| OWNERSHIP | 데이터 이동 규칙 | %ac-ownership% |
스키마의 객체에 대해 작업하려면 상위 데이터베이스에 대한 권한이 하나 이상, 상위 스키마에 대한 권한이 하나 이상 필요합니다.
지정된 권한 집합을 가진 사용자 정의 역할을 만드는 방법에 대한 지침은 을(를) 참조하세요.
securable objects에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반적인 정보는 Overview of Access Control을(를) 참조하세요.
사용 참고 사항
- 기존 데이터 이동 규칙의 이동 유형은 변경할 수 없습니다. 이동 유형을 변경하려면 규칙을 삭제하고 새로 만드세요.
- GET_DDL은 이 객체 유형에 대해 지원됩니다. 규칙의 현재 정의를 확인하려면 GET_DDL 함수를 실행하세요.
- 메타데이터 관련:
고객은 Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체에 대한 데이터 제외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터가 입력되지 않도록 해야 합니다. 자세한 내용은 Metadata fields in Snowflake을(를) 참조하세요.
예제
기존 규칙의 행 제한을 낮춥니다:
ALTER DATA MOVEMENT RULE hr_pii_copy_limit
SET MAX_ROWS AS () RETURNS INTEGER
-> (500);
데이터 이동 규칙의 이름을 변경합니다:
ALTER DATA MOVEMENT RULE hr_pii_copy_limit RENAME TO hr_pii_export_limit;