Data Sharing

Data Sharing is Lakehouse's zero-copy cross-instance data authorization feature — you define the tables or views to share, and the recipient instance reads your original data directly, with no copying and no sync delay. Only supported between instances within the same cloud and service region; cross-cloud or cross-region sharing is not supported.


I Want to Share Data with Another Account

Three steps: Create a Share → Grant data objects → Specify recipient instances. Both SQL and the Studio UI support the full workflow — choose whichever you prefer.

ScenarioApproachReference
Share an entire table with another instance (SQL)CREATE SHARE + GRANT SELECT + ALTER SHARE ADD INSTANCECross-Account Data Sharing Guide
Share an entire table with another instance (UI)Data Management → Data Sharing → + New ShareVia Studio
Share only certain rows or columns from a tableCreate a View to filter data first, then share the ViewCross-Enterprise Real-Time Data Sharing
Share all tables under a SchemaGRANT SELECT ON ALL TABLES IN SCHEMAData Sharing SQL Reference

I Want to Receive and Use Data Shared with Me

The consumer needs to first view the received Share, then create a local read-only Schema mapped to the shared data.

ScenarioApproachReference
View which shares I have receivedSHOW SHARES (look for INBOUND type) or Studio "Shared with Me" tabData Sharing
View which data objects are in a shareDESC SHARE <provider>.<share_name>DESC SHARE
Create a local Schema to access shared dataCREATE SCHEMA ... FROM SHARE <provider>.<share>.<schema>Cross-Account Data Sharing Guide
Extract data via Studio UIData Sharing → Shared with Me → Click "Extract"Data Sharing

I Want to Use the Studio UI

Studio provides a complete data sharing management interface, suitable for users unfamiliar with SQL or for routine management operations.

OperationPathRequired Role
Create a new shareData Management → Data Sharing → + New Shareinstance_admin
View shares I have sentData Management → Data Sharing → My Sharesinstance_admin or workspace_admin
Add/remove shared data objectsClick share name → Editworkspace_admin (workspace owning the share)
Add/remove recipient instancesClick share name → Recipient Instances → Add/Removeinstance_admin
View shares receivedData Management → Data Sharing → Shared with Meinstance_admin or workspace_admin
Extract shared data (consumer)Shared with Me → Click "Extract"workspace_admin (target workspace)

I Want to Use SQL Commands

The complete SQL workflow, suitable for automation scripts or scenarios requiring fine-grained control.

OperationSQL CommandReference
Create a ShareCREATE SHARE <name>CREATE SHARE
Grant a table to a ShareGRANT SELECT, READ METADATA ON TABLE <t> TO SHARE <s>GRANT TO SHARE
Grant a view to a ShareGRANT SELECT, READ METADATA ON VIEW <v> TO SHARE <s>GRANT TO SHARE
Grant all tables in a SchemaGRANT ... ON ALL TABLES IN SCHEMA <s> TO SHARE <share>GRANT TO SHARE
Add a recipient instanceALTER SHARE <s> ADD INSTANCE <instance>ALTER SHARE
Remove a recipient instanceALTER SHARE <s> REMOVE INSTANCE <instance>ALTER SHARE
Revoke data object authorizationREVOKE SELECT, READ METADATA ON TABLE <t> FROM SHARE <s>REVOKE FROM SHARE
Consumer creates a read-only SchemaCREATE SCHEMA ... FROM SHARE <provider>.<share>.<schema>Data Sharing
Delete a ShareDROP SHARE <name>DROP SHARE

I Want to View and Manage Existing Shares

ScenarioSQLNotes
View all Shares (including received)SHOW SHARESOUTBOUND = shares I sent; INBOUND = shares I received
View details of a specific ShareDESC SHARE <name>Shows included data objects and recipient instances
View authorization details of a ShareSHOW GRANTS TO SHARE <name>Use when troubleshooting permission configuration
Delete a ShareDROP SHARE <name>Takes effect immediately; consumers lose access instantly and it cannot be undone

Not Sure How to Proceed?

What is my role? ├── Data Provider (I have data and want to share it) │ ├── Share an entire table → CREATE SHARE + GRANT SELECT ON TABLE │ ├── Share partial data (row/column filter) → Create a View first, then GRANT SELECT ON VIEW │ └── Share an entire Schema → GRANT SELECT ON ALL TABLES IN SCHEMA (note: includes future tables) │ └── Data Consumer (someone shared data with me) ├── First confirm what was received → SHOW SHARES (look for INBOUND) ├── View share contents → DESC SHARE <provider_instance>.<share_name> └── Create a local access entry → CREATE SCHEMA FROM SHARE Preferred method? ├── Have SQL access → Refer to the SQL command table above └── Prefer UI → Studio Data Management → Data Sharing