2022_08 번들

이 항목에서는 다음과 같이 그달의 동작 변경 사항(있는 경우)을 설명합니다.

  • 사용되지 않게 된 기능.

  • 활성화된 번들 변경 사항.

  • 번들로 제공되지는 않고 구현된 기타 변경 사항.

이러한 변경 사항에 대해 궁금한 점이 있으면 Snowflake 지원 에 문의하십시오.

이 달에 도입된 새로운 기능, 개선된 사항, 수정 사항에 대한 자세한 내용은 2023년 1월 문서를 참조하십시오.

중요

별도로 명시되는 경우를 제외하고, 이러한 변경 사항은 7.2 릴리스에서 기본적으로 활성화되는 2022_08 번들에 포함됩니다.

이 항목의 내용:

보안 변경 사항

SAML2 보안 통합 편집: X.509 인증서의 유효 날짜 적용

Single Sign-On을 사용하도록 SAML2 보안 통합을 정의할 때 보안 관리자는 SAML2_X509_CERT 매개 변수를 사용하여 X.509 인증서를 지정합니다.

Snowflake는 이제 이러한 X.509 인증서의 유효 날짜를 적용하여 만료된 인증서로는 인증하지 못하게 됩니다. 아직 발생하지 않은 NotBefore 날짜의 인증서도 인증에 실패합니다. 유효 날짜 적용은 비활성화할 수 없습니다.

이전:

Snowflake는 X.509 인증서가 만료되었는지 또는 NotBefore 날짜가 아직 도래하지 않았는지 확인하기 위해 인증서의 유효 날짜를 확인하지 않았습니다.

현재:

Snowflake는 X.509 인증서의 유효 날짜를 적용합니다. 현재 날짜가 인증서의 유효 날짜에 속하지 않으면 인증에 실패합니다.

SQL 변경 사항 — 명령 및 함수

데이터베이스 및 스키마: 삭제 또는 교체는 그로 인해 비밀번호 정책과 세션 정책에 대한 허상 참조가 발생하는 경우에는 허용되지 않음

비밀번호 정책 및 세션 정책과 관련된 DROP SCHEMA, DROP DATABASE, CREATE OR REPLACE DATABASE 및 CREATE OR REPLACE SCHEMA 작업의 동작이 다음과 같이 변경되었습니다.

이전:

Snowflake는 정책이 포함된 Snowflake 계정에 정책이 설정되었거나 동일한 계정의 사용자에게 정책이 설정된 경우 해당 정책이 포함된 스키마/데이터베이스에서 DROP 및 REPLACE 작업을 허용했습니다.

현재:

Snowflake는 정책이 포함된 Snowflake 계정에 정책이 설정되거나 동일한 계정의 사용자에게 정책이 설정되는 경우 해당 정책이 포함된 스키마/데이터베이스에서 DROP 및 REPLACE 작업을 허용합니다.

결과적으로, 동일한 네 명령의 동작이 변경되었습니다.

작업에 따라, Snowflake는 다음 오류 메시지 중 하나를 반환합니다.

사용자에게 설정된 정책:

DROP DATABASE 및 CREATE OR REPLACE DATABASE:

'MYDB.MYSCHEMA.POLICY1' 정책이 사용자 'JSMITH'에게 설정되어 있으므로 데이터베이스를 삭제할 없습니다. 'MYDB.MYSCHEMA.POLICY1' 정책을 설정 해제한 다음 삭제 작업을 다시 시도하십시오.

DROP SCHEMA 및 CREATE OR REPLACE SCHEMA:

'MYDB.MYSCHEMA.POLICY1' 정책이 사용자 'JSMITH'에게 설정되어 있으므로 스키마를 삭제할 없습니다. 'MYDB.MYSCHEMA.POLICY1' 정책을 설정 해제한 다음 삭제 작업을 다시 시도하십시오.

계정에 설정된 정책:

DROP DATABASE 및 CREATE OR REPLACE DATABASE:

'MYDB.MYSCHEMA.POLICY1' 정책이 'MYACCOUNT' 계정에 설정되어 있으므로 데이터베이스를 삭제할 없습니다. 'MYDB.MYSCHEMA.POLICY1' 정책을 설정 해제한 다음 삭제 작업을 다시 시도하십시오.

DROP SCHEMA 및 CREATE OR REPLACE SCHEMA:

Cannot drop schema because policy 'MYDB.MYSCHEMA.POLICY1' is set on account 'MYACC

SHOW FUNCTIONS 명령: 출력의 새 열

SHOW FUNCTIONS 명령의 출력에 추가된 새 열은 다음과 같습니다.

열 이름

데이터 타입

설명

IS_MEMOIZABLE

VARCHAR

함수가 메모이제이션 가능 함수인지 여부를 지정합니다.

이 추가 사항이 미치는 영향을 최소화하기 위해 이 열은 출력의 마지막 열로 추가되었습니다.

SHOW VIEWS 명령: 출력의 새 열

이제 SHOW VIEWS 출력에 새 CHANGE_TRACKING 열이 포함됩니다. 이 열은 뷰에서 변경 내용 추적이 활성화되었는지 여부를 나타냅니다.

이 열은 개별 뷰에 대해 다음 값 중 하나를 표시합니다.

  • ON: 변경 내용 추적이 활성화됩니다. 스트림 또는 SELECT 문의 CHANGES 절을 사용하여 이 변경 내용 추적 데이터를 쿼리할 수 있습니다.

  • OFF: 변경 내용 추적이 현재 비활성화되어 있지만 활성화될 수 있습니다.

이 변경 사항이 미치는 영향을 제한하기 위해 새 열은 출력의 마지막 열로 추가되었습니다.

GET_DDL 함수: 태그와 정책에 대해 추가된 지원

GET_DDL 함수는 이제 다음과 같이 태그와 정책을 지원합니다.

  • 테이블, 뷰 또는 구체화된 뷰에 태그가 설정되면 GET_DDL 함수 호출의 출력에 CREATE 문의 태그 할당이 포함됩니다.

  • 하나 이상의 태그가 스키마 또는 데이터베이스에 설정된 경우 GET_DDL 함수 호출의 출력에는 다음과 같이 태그를 할당하는 문이 포함됩니다.

    • 태그가 데이터베이스에 설정된 경우 ALTER DATABASE 문.

    • 태그가 스키마에 설정된 경우 ALTER SCHEMA 문.

    • 태그가 데이터베이스와 스키마에 모두 설정된 경우 ALTER DATABASE 문 및 ALTER SCHEMA 문.

  • 스키마에서 태그가 생성되고 GET_DDL 함수를 호출할 때 이 동일한 스키마가 지정되면 출력에는 태그를 생성하는 CREATE OR REPLACE 문이 포함됩니다.

    데이터베이스에서 생성된 태그의 경우에도 마찬가지입니다. GET_DDL 함수를 호출할 때 데이터베이스를 지정하면 태그를 생성하는 CREATE OR REPLACE 문이 포함됩니다.

  • 행 액세스 정책이 테이블 또는 뷰에 설정되거나 마스킹 정책이 열에 설정된 경우 테이블 또는 뷰에서 GET_DDL 함수를 호출하면 WITH 키워드가 추가되어 CREATE 문에서 정책이 테이블, 뷰 또는 열에 설정되었음을 나타냅니다.

    테이블을 수동으로 생성한 경우 테이블 또는 뷰에 행 액세스 정책을 설정하거나 열에 마스킹 정책을 설정할 때 WITH 키워드를 지정하는 것은 선택 사항입니다.

SQL 변경 사항 — Usage 뷰 및 Information Schema 뷰/테이블 함수

Data Sharing Usage 뷰: 뷰의 열 변경 사항

(SNOWFLAKE 공유 데이터베이스에서) DATA_SHARING_USAGE 스키마의 모든 뷰가 다음과 같이 변경되었습니다.

이전:

뷰의 SNOWFLAKE_REGION 열에 표시된 데이터는 모두 소문자로 된 <클라우드> <리전> 형식으로 표시되었습니다(예: aws us_west_2). 이는 SHOW REGIONS 출력에서 Snowflake 리전에 대해 표시된 값과 일치하지 않았습니다.

영향을 받는 뷰:

현재:

위에 나열된 뷰에서 SNOWFLAKE_REGION 열의 값은 이제 모두 대문자로 된 <클라우드>_<리전> 형식으로 표시됩니다. 이것은 SHOW REGIONS 출력과 일치합니다.

예를 들어 AWS의 us_west_2 리전은 이제 AWS_US_WEST_2 로 표시됩니다.

Data Sharing Usage 뷰: 뷰의 새 열

이 공지는 2023년 2월 13에 추가되었습니다.

DATA_SHARING_USAGE 스키마에서 REGION_GROUP 열이 다음 뷰에 추가되었습니다.

이 추가 사항이 미치는 영향을 최소화하기 위해 REGION_GROUP 열은 출력의 마지막 열로 추가되었습니다.

ACCESS_HISTORY 뷰(Account Usage): 뷰의 새 열

(ACCOUNT_USAGE 스키마에서) ACCESS_HISTORY 뷰에 다음 열이 추가되었습니다.

  • object_modified_by_ddl

  • policies_referenced

이 추가 사항이 미치는 영향을 최소화하기 위해 이러한 열은 출력의 마지막 열로 추가되었습니다.

이러한 열은 자리 표시자이며 향후 릴리스에서 채워집니다.

FUNCTIONS 뷰(Information Schema): 출력의 새 열

(INFORMATION_SCHEMA 스키마에서) Information Schema FUNCTIONS 뷰에 다음 열이 추가되었습니다.

열 이름

데이터 타입

설명

IS_MEMOIZABLE

VARCHAR

함수가 메모이제이션 가능 함수인지 여부를 지정합니다.

이 추가 사항이 미치는 영향을 최소화하기 위해 이 열은 뷰의 마지막 열로 추가되었습니다.

TABLE_CONSTRAINTS 뷰(Account Usage): 뷰의 새 열

(ACCOUNT_USAGE 스키마에서) 다음과 같은 새 열이 TABLE_CONSTRAINTS 뷰에 추가되었습니다.

열 이름

데이터 타입

설명

RELY

VARCHAR

쿼리 재작성 중에 NOVALIDATE 모드의 제약 조건이 고려되는지 여부입니다. 자세한 내용은 확장된 제약 조건 속성 섹션을 참조하십시오.

USAGE_IN_CURRENCY_DAILY 뷰(Organization Usage): 뷰의 새 열

(ORGANIZATION_USAGE 스키마에서) USAGE_IN_CURRENCY_DAILY 뷰는 이제 새로운 BALANCE_SOURCE 열을 포함합니다.

열 이름

데이터 타입

설명

BALANCE_SOURCE

VARCHAR

일일 사용량을 지불하는 데 사용되는 자금의 출처입니다. 특정 날짜에 둘 이상의 원본이 있을 수 있으므로 동일한 날짜와 사용 유형에 대한 여러 항목이 있는 경우 새 열을 통해 추가적인 인사이트를 얻을 수 있습니다.

이 변경 사항이 미치는 영향을 제한하기 위해 새 열은 뷰의 마지막 열로 추가되었습니다.

USERS 뷰(Account Usage): 뷰의 새 열

(ACCOUNT_USAGE 스키마에서) USERS 뷰가 새 USER_ID 열을 포함하도록 업데이트되었습니다.

데이터 공유 변경 사항

컨슈머: 계정이 공유에서 취소된 경우 SHOW 명령을 실행하면 오류가 반환됨

공유가 취소된 컨슈머 계정의 SHOW <오브젝트> 명령 실행 시의 동작이 다음과 같이 변경되었습니다.

이전:

컨슈머 계정이 동일한 공급자 오브젝트를 포함하는 둘 이상의 공유를 탑재하고 나중에 공급자가 공유 중 하나에서만 계정을 취소하는 경우, 나머지 공유에서 탑재된 데이터베이스 또는 스키마의 컨슈머 계정에서 SHOW 명령이 실행될 때 데이터가 반환되었습니다.

예를 들어, 동일한 공급자 오브젝트를 포함하는 share1share2xy12345 컨슈머 계정에 탑재된 다음 공급자가 share2 에서 계정을 제거했습니다.

alter share share2 remove accounts = xy12345;
Copy

컨슈머 계정에서 다음 명령 중 하나를 실행한 경우 유효한 데이터가 반환되었습니다.

SHOW <objects> IN DATABASE <revoked_mounted_db>;

SHOW <objects> IN SCHEMA <revoked_mounted_db>.<schema>;
Copy
현재:

동일한 시나리오가 발생하면 위에서 설명한 SHOW 명령을 실행할 때 다음과 유사한 오류가 반환됩니다.

SQL compilation error: <특정 오류에 대한 세부 정보>.

복제 변경 사항

네트워크 정책: 복제 및 장애 조치/장애 복구가 있는 정책에 대한 허상 참조

장애 조치/장애 복구 및 네트워크 정책과 함께 복제 및 네트워크 정책의 동작이 다음과 같이 변경되었습니다.

이전:

네트워크 정책과 해당 참조(즉, 기본 계정에 대한 할당과 기본 계정의 사용자)가 있는 경우:

  • 사용자 수준 네트워크 정책이 있을 때는 복제/장애 조치 그룹에 USERS 및 NETWORK POLICIES를 지정합니다.

  • 계정 수준 네트워크 정책만 있을 때는 복제/장애 조치 그룹에 NETWORK POLICIES를 지정합니다.

  • 결과가 대상 계정의 허상 참조인 경우에도 복제 및 장애 조치/장애 복구가 발생했습니다.

허상 참조는 보조 계정의 오브젝트가 동일한 계정에 존재하지 않는 오브젝트를 참조한다는 의미입니다. 예:

  • 보조 계정의 사용자/사용자 이름이 보조 계정에는 없는 네트워크 정책을 참조합니다. 이 시나리오는 네트워크 정책이 기본 계정의 사용자에게 할당되고 복제/장애 조치 그룹이 USERS를 지정하지만 NETWORK POLICIES는 지정하지 않는 경우에 발생합니다.

  • 네트워크 정책이 기본 계정에 연결되고 복제/장애 조치 그룹에 NETWORK POLICIES가 포함되지 않습니다.

현재:

현재 동작이 다음과 같이 변경되었습니다.

  • 사용자 수준 네트워크 정책이 있을 때는 복제/장애 조치 그룹에 ACCOUNT PARAMETERS, USERS, NETWORK POLICIES를 지정합니다.

  • 계정 수준 네트워크 정책만 있을 때는 복제/장애 조치 그룹에 ACCOUNT PARAMETERS 및 NETWORK POLICIES를 지정합니다.

  • 결과가 허상 참조인 경우 보조 계정에서 복제 및 장애 조치/장애 복구가 실패합니다.

예를 들어, 기본 계정에 계정 수준 네트워크 정책 세트가 있고 사용자에 대한 사용자 수준 네트워크 정책 세트가 있는 경우 계정 수준 매개 변수와 사용자에 대해 모두 대상 계정에 허상 참조가 생성됩니다.

Dangling references in the snapshot. Correct the errors before refreshing again. The following references are missing (referred entity <- [referring entities]):

ACCOUNT PARAMETERS <- [NETWORK POLICIES]. Add ACCOUNT PARAMETER into the replication group to fix it.

NETWORK_POLICY 'MYACCOUNT.P2' <- [USER 'MYACCOUNT.USERNAME']
Copy

그렇지 않은 경우 오류 메시지는 복제 그룹이 구성된 방식과 대상 계정의 결과에 따라 계정 매개 변수 문 또는 사용자 문을 지정합니다.

복제 그룹: 계정 오브젝트를 단일 그룹의 구성원 자격으로 제한

계정 복제를 사용하면 복제 또는 장애 조치 그룹에서 계정 오브젝트를 복제할 수 있습니다. 계정 오브젝트에는 계정 매개 변수, 역할, 보안 오브젝트, 사용자가 포함될 수 있습니다. 지원되는 오브젝트의 전체 목록은 복제된 오브젝트 섹션을 참조하십시오.

현재, 계정에 계정 오브젝트 유형을 포함하는 장애 조치 그룹이 없는 경우 서로 다른 계정 오브젝트 유형은 둘 이상의 복제 그룹에 포함될 수 있습니다. 이 동작이 다음과 같이 변경되었습니다.

이전:

계정 오브젝트 유형은 둘 이상의 복제 그룹에 포함될 수 있습니다.

현재:

계정 오브젝트 유형은 하나의 복제 그룹으로 제한됩니다.

복제 그룹: 대상 계정의 읽기 전용 계정 매개 변수

계정 오브젝트 유형이 복제 또는 장애 조치 그룹에 포함된 경우 오브젝트 유형은 대상 계정에서 읽기 전용입니다. 예를 들어 역할이 대상 계정에 복제되면 대상 계정에서 역할을 생성하거나 수정할 수 없습니다.

계정 매개 변수는 대상 계정에 복제할 복제 또는 장애 조치 그룹에 포함될 수 있습니다. 일부 매개 변수(예: STATEMENT_TIMEOUT_IN_SECONDS)는 여러 수준(예: 계정 수준 및 사용자별)에서 설정할 수 있습니다. 계정 매개 변수 복제는 매개 변수에 대한 계정 수준 설정만 복제합니다.

계정 매개 변수 복제 동작이 다음과 같이 변경되었습니다.

이전:

복제 또는 장애 조치 그룹의 OBJECT_TYPES 목록에 ACCOUNT PARAMETERS가 포함된 경우 대상 계정의 보조 계정 수준 매개 변수를 수정할 수 있습니다.

현재:

ACCOUNT PARAMETERS가 복제 또는 장애 조치 그룹의 OBJECT_TYPES 목록에 포함된 경우 대상 계정의 보조 계정 수준 매개 변수는 읽기 전용입니다.

SHOW REPLICATION GROUPS 명령: 출력 변경 사항

SHOW REPLICATION GROUPS 명령은 출력에 복제 일정 이 있는 보조 복제 또는 장애 조치 그룹에 대해 다음으로 예약된 새로 고침 날짜 및 시간을 표시하는 next_scheduled_refresh 열을 포함합니다. 이 열은 현재 리전에 없는 경우 복제 일정이 있는 보조 복제 또는 장애 조치 그룹에 대해 NULL입니다.

이 동작이 다음과 같이 변경되었습니다.

이전:

next_scheduled_refresh 열은 현재 리전에 없는 복제 일정이 있는 보조 복제 또는 장애 조치 그룹에 대해 NULL이었습니다.

현재:

next_scheduled_refresh 열에는 복제 일정이 있는 모든 보조 복제 및 장애 조치 그룹에 대한 다음으로 예약된 새로 고침 날짜 및 시간이 포함됩니다.