SnowPro Associate: Platform Question 350
Single answer4.2 Define Snowflake data sharing capabilities.A data provider wants to share a curated set of sales tables with an external business partner. The provider wants the partner to query the latest data without copying or moving it, and the provider must retain full control over which objects are exposed. The partner already has its own Snowflake account. Which approach best meets these requirements?
- A
Create a secure data share, grant usage on the database and schema plus select on the required secure objects to the share, and have the consumer create a database from that share.
- B
Export the sales tables to an external stage and send the partner pre-signed URLs so they can load the files into their Snowflake account.
- C
Set up database replication to the partner's account so the partner receives a full copy of the provider database and can query it directly.
- D
Create a reader account for the partner and let them access all tables in the provider's existing database without creating a share.
Show answer and explanation
Correct answer: A
Explanation
The best solution is Snowflake Secure Data Sharing between accounts. This capability allows a provider to share live, read-only data with another Snowflake account without physically copying the underlying table storage. The consumer creates a database from the share and queries the shared objects using its own compute resources. This is a core Snowflake data sharing capability and is preferred when the consumer already has a Snowflake account. Reader accounts are for consumers who do not have a Snowflake account. Replication is a different feature intended for copying databases for failover or continuity scenarios, not selective live sharing. Best practice is to grant only the required privileges on only the required objects included in the share, following least-privilege access principles. See Snowflake documentation on Secure Data Sharing, Shares, Reader Accounts, and Database Replication for the distinctions among these features.
- A. Correct.
Correct. Snowflake Secure Data Sharing is designed for this exact scenario: sharing live data between Snowflake accounts without copying the underlying data. The provider controls access by creating a share and granting privileges on specific objects, then the consumer creates a database from the share. This satisfies the requirements for near-real-time access, no data movement, and provider-controlled exposure.
- B. Incorrect.
Incorrect. Exporting to an external stage and using pre-signed URLs requires unloading data to files, which introduces data movement and breaks the requirement to query the latest live data directly. It also creates extra operational overhead and weakens centralized access control compared to Secure Data Sharing.
- C. Incorrect.
Incorrect. Database replication is intended for disaster recovery, business continuity, and regional/account-level replication use cases, not for selective partner data sharing. Replication creates a copy of database objects in another account or region, which does not meet the requirement to avoid copying or moving data. It is also broader than needed when only a curated subset should be exposed.
- D. Incorrect.
Incorrect. A reader account is used when the consumer does not already have a Snowflake account. In this scenario, the partner already has its own Snowflake account, so direct sharing is the appropriate method. In addition, access is not granted by simply exposing all tables in the provider's database; the provider must explicitly grant objects to a share.