Snowflake Data Clean Rooms 제거하기¶
이 항목에서는 관리자가 Snowflake Data Clean Rooms 을 제거하기 위해 완료해야 하는 작업에 대해 설명합니다.
중요
이 프로시저를 수행하면 개별 클린룸뿐만 아니라 전체 환경이 완전히 제거됩니다.
제거하려면 다음 단계를 실행합니다.
공급자 권한으로 생성한 모든 클린룸을 삭제합니다. 여기에는 웹 앱과 개발자 API 클린룸이 모두 포함됩니다.
웹 앱을 사용하여 컨슈머 권한으로 가입한 클린룸과 관련된 타일을 찾은 다음 클린룸에서 나갑니다.
컨슈머 권한으로 설치한 개발자 API 클린룸을 제거하려면
consumer.uninstall_cleanroom
명령을 사용합니다.Snowflake 담당자에게 문의하여 계정 메타데이터를 검색합니다.
지침에 따라 다음 정리 스크립트를 실행합니다.
참고
이 스크립트를 실행하기 전에 웹 앱에서 클린룸(컨슈머 측)을 종료하고 클린룸(공급자 측)을 삭제해야 합니다. 컨슈머 데이터베이스는 애플리케이션 삭제(마지막 단계)에 의해 자동으로 삭제됩니다. 모든 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;