Snowflake Data Clean Rooms 제거하기

이 항목에서는 관리자가 Snowflake Data Clean Rooms 을 제거하기 위해 완료해야 하는 작업에 대해 설명합니다.

중요

이 프로시저를 수행하면 개별 클린룸뿐만 아니라 전체 환경이 완전히 제거됩니다.

제거하려면 다음 단계를 실행합니다.

  1. 공급자 권한으로 생성한 모든 클린룸을 삭제합니다. 여기에는 웹 앱과 개발자 API 클린룸이 모두 포함됩니다.

  2. 웹 앱을 사용하여 컨슈머 권한으로 가입한 클린룸과 관련된 타일을 찾은 다음 클린룸에서 나갑니다.

  3. 컨슈머 권한으로 설치한 개발자 API 클린룸을 제거하려면 consumer.uninstall_cleanroom 명령을 사용합니다.

  4. Snowflake 담당자에게 문의하여 계정 메타데이터를 검색합니다.

  5. 지침에 따라 다음 정리 스크립트를 실행합니다.

참고

이 스크립트를 실행하기 전에 웹 앱에서 클린룸(컨슈머 측)을 종료하고 클린룸(공급자 측)을 삭제해야 합니다. 컨슈머 데이터베이스는 애플리케이션 삭제(마지막 단계)에 의해 자동으로 삭제됩니다. 모든 SELECT 문을 매우 주의하여 실행합니다.

USE ROLE ACCOUNTADMIN;
USE WAREHOUSE APP_WH;

-- Drop listings

SHOW LISTINGS;
SELECT concat('alter listing ', "name", ' unpublish; drop listing ', "name", ';') FROM TABLE(result_scan(last_query_id()));

-- Drop shares

SHOW SHARES;
SELECT concat('drop share ', "name", ';') FROM TABLE(result_scan(last_query_id())) WHERE "kind" = 'OUTBOUND';

-- These 3 shares have to be dropped manually:

DROP SHARE SAMOOHA_INTERNAL_GOVERNANCE_SUMMARY_SHARE_NAV2;
DROP SHARE SAMOOHA_INTERNAL_LOGS_SHARE_NAV2;
DROP SHARE SAMOOHA_INTERNAL_PROVIDER_METADATA_NAV2;

-- Drop applications

SHOW APPLICATIONS;
SELECT concat('drop application ', "name", ' cascade;') FROM TABLE(result_scan(last_query_id())) WHERE "name" LIKE 'SAMOOHA_CLEANROOM_APP_%';

-- Drop application packages

SHOW APPLICATION PACKAGES;
SELECT concat('drop application package ', "name", ' cascade;') FROM TABLE(result_scan(last_query_id())) WHERE "name" LIKE 'SAMOOHA_CLEANROOM_%';

-- Drop databases

SHOW DATABASES;
SELECT concat('drop database ', "name", ';') FROM TABLE(result_scan(last_query_id()))
WHERE "name" = 'SAMOOHA_SAMPLE_DATABASE' OR
  "name" LIKE 'SAMOOHA_CLEANROOM_%' OR
  "name" = 'SAMOOHA_BY_SNOWFLAKE_LOCAL_DB' OR
  "name" LIKE 'SAMOOHA_INTERNAL_GOVERNANCE_%' AND NOT
  startswith("name", 'SAMOOHA_CLEANROOM_CONSUMER_');


-- Finally drop the Snowflake native app

DROP APPLICATION SAMOOHA_BY_SNOWFLAKE CASCADE;
Copy