SnowPro Associate: Platform Question 348
Single answer4.2 Define Snowflake data sharing capabilities.A data provider wants to make a set of reporting tables available to a partner company using Snowflake data sharing. The provider wants the partner to query the latest data without copying it, while ensuring the partner cannot modify the provider's objects. Which approach should the provider use?
- A
Create a secure share containing the required database objects and have the partner create a database from that share.
- B
Export the tables to external stage files and allow the partner to load them into their own Snowflake account.
- C
Replicate the database into the partner's Snowflake account so the partner can directly update shared tables when needed.
- D
Grant the partner's users USAGE and SELECT privileges directly on the provider's database and schemas across accounts.
Show answer and explanation
Correct answer: A
Explanation
The correct solution is to use Snowflake Secure Data Sharing. This capability lets a provider share live, read-only data with another Snowflake account without physically copying the data. The consumer then creates a database from the share and queries it like a normal database, but cannot alter the provider's shared objects. This is the standard Snowflake approach for sharing current data with internal or external organizations while maintaining provider-side control. By contrast, unloading and reloading data introduces copies and latency, and replication serves a different purpose than secure sharing. Snowflake documentation on Secure Data Sharing emphasizes that shares provide read-only access to live data and are the supported mechanism for cross-account data access.
- A. Correct.
Correct. Snowflake Secure Data Sharing allows a provider to share selected database objects, such as tables and secure views, with another Snowflake account without copying the data. The consumer creates a read-only database from the share and can query the latest data as it changes in the provider account. The consumer cannot modify the provider's underlying objects through the share.
- B. Incorrect.
Incorrect. Exporting data to stage files and reloading it creates copies and does not provide live access to the latest shared data. This approach also adds data movement, storage, and operational overhead, which Snowflake data sharing is designed to avoid.
- C. Incorrect.
Incorrect. Database replication is for disaster recovery, business continuity, or regional/account replication scenarios, not standard secure data sharing to external consumers. Replication creates a replicated copy rather than a live shared read-only dataset for a partner. It also does not allow the consumer to update the provider's source tables.
- D. Incorrect.
Incorrect. Snowflake privileges cannot be granted directly to users in another account in this way for cross-account data sharing. Cross-account sharing is done through shares, not by directly assigning object privileges to external account users.