卸载 Snowflake Data Clean Rooms¶
本主题介绍管理员卸载 Snowflake Data Clean Rooms 时必须完成的任务。
重要
该程序可完全卸载整个环境,而不仅仅是单个 Clean Room。
要卸载,请执行以下步骤:
删除您作为提供商创建的所有 Clean Room。其中包括 Web 应用程序和开发人员 API Clean Room。
使用 Web 应用程序查找与您作为使用者加入的 Clean Room 相关的磁贴,然后离开 Clean Room。
使用
consumer.uninstall_cleanroom
命令卸载作为使用者安装的开发人员 API Clean Room。联系您的 Snowflake 代表以检索账户元数据。
收到指示后,运行以下清理脚本:
备注
在运行此脚本之前,请确保在 Web 应用程序中保留 Clean Room(使用者端)并删除 Clean Room(提供商端)。使用者数据库由应用程序自动删除(最后一步)。非常仔细地运行所有 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;