What Is Data Sharing?
Snowflake Data Sharing lets you share live data with other Snowflake accounts without copying it. The consumer always sees the latest version of your data, and you retain full control over access.
Creating a Share (Provider Side)
-- 1. Create the share object
CREATE SHARE product_analytics_share;
-- 2. Grant access to a database
GRANT USAGE ON DATABASE analytics TO SHARE product_analytics_share;
-- 3. Grant access to a schema
GRANT USAGE ON SCHEMA analytics.public TO SHARE product_analytics_share;
-- 4. Grant access to specific tables or views
GRANT SELECT ON TABLE analytics.public.daily_metrics
TO SHARE product_analytics_share;
-- 5. Add the consumer account
ALTER SHARE product_analytics_share
ADD ACCOUNTS = consumer_account_locator;
Best practice: Share secure views rather than raw tables to mask sensitive columns and apply row-level filtering for multi-tenant scenarios.
Creating a Secure View for Sharing
CREATE OR REPLACE SECURE VIEW analytics.public.daily_metrics_shared AS
SELECT
metric_date,
region,
revenue,
-- Never expose customer PII
customer_count -- aggregate only
FROM analytics.private.daily_metrics_raw
WHERE region = CURRENT_ACCOUNT(); -- Row-level isolation per consumer
Consuming a Share
On the consumer account:
-- 1. Create a database from the inbound share
CREATE DATABASE partner_analytics
FROM SHARE provider_account.product_analytics_share;
-- 2. Query it like any other database (read-only)
SELECT * FROM partner_analytics.public.daily_metrics LIMIT 10;
No data movement, no ETL — the query runs against the provider's live data.
Listing on Snowflake Marketplace
To make your data product discoverable:
- Go to Snowsight → Data → Provider Studio
- Create a new Listing
- Attach your share
- Set pricing (free or paid)
- Submit for Snowflake review
Once approved, any Snowflake customer worldwide can discover and subscribe.
Conclusion
Data Sharing is one of Snowflake's most underused features. For data teams that work across organisational boundaries — internal departments, partners, customers — it eliminates the ETL overhead of data distribution entirely.