Secure data sharing in Snowflake allows you to share live data with other Snowflake accounts without copying or moving the data. It keeps data safe and up-to-date.
Click to reveal answer
beginner
What is a 'share' in Snowflake?
A 'share' is an object that contains the database objects you want to share, like tables or views. It controls what data others can see.
Click to reveal answer
intermediate
How does Snowflake ensure data security during sharing?
Snowflake uses access controls and encryption. The data is never copied; only authorized accounts can query the shared data securely.
Click to reveal answer
beginner
What is a 'consumer' in Snowflake data sharing?
A consumer is the Snowflake account that receives and accesses the shared data. They can query the data but cannot change the original data.
Click to reveal answer
intermediate
Why is no data copying important in Snowflake data sharing?
No data copying means data is always current and secure. It saves storage and avoids delays or errors from copying data.
Click to reveal answer
What does a Snowflake 'share' contain?
ADatabase objects like tables and views
BUser passwords
CPhysical copies of data
DNetwork settings
✗ Incorrect
A 'share' contains database objects such as tables and views to share with other accounts.
Who can access data in a Snowflake share?
AOnly the data owner
BAny internet user
COnly authorized Snowflake consumer accounts
DAnyone with a Snowflake account
✗ Incorrect
Only authorized consumer accounts granted access can query the shared data.
What happens to the data when shared in Snowflake?
AIt remains in the provider's account and is accessed live
BIt is moved to a new database
CIt is copied to the consumer's account
DIt is deleted from the provider's account
✗ Incorrect
Data remains in the provider's account and consumers access it live without copying.
What is a key benefit of Snowflake's secure data sharing?
AData is always outdated
BData is copied multiple times
CData is publicly accessible
DData is live and secure without duplication
✗ Incorrect
Data sharing is live and secure without creating copies, ensuring up-to-date data.
Can a consumer modify the shared data in Snowflake?
AYes, they can edit the original data
BNo, they can only query the data
CYes, but only if given special permission
DNo, they cannot see the data
✗ Incorrect
Consumers can query but cannot modify the original shared data.
Explain how Snowflake's secure data sharing works and why it is beneficial.
Think about how sharing without copying helps keep data fresh and safe.
You got /4 concepts.
Describe the roles of 'share' and 'consumer' in Snowflake data sharing.
Consider who provides data and who uses it.
You got /4 concepts.
Practice
(1/5)
1. What is the main benefit of using secure data sharing in Snowflake?
easy
A. Encrypt data before sharing it manually
B. Share live data without making copies
C. Create multiple copies of data for each user
D. Send data files via email securely
Solution
Step 1: Understand secure data sharing purpose
Secure data sharing allows sharing data directly without duplication.
Step 2: Compare options
Options A, B, and D involve copying or manual steps, which are not the main benefit.
Final Answer:
Share live data without making copies -> Option B
Quick Check:
Secure sharing = live data, no copies [OK]
Hint: Secure sharing means no data copies needed [OK]
Common Mistakes:
Thinking data is copied to recipients
Confusing sharing with encryption only
Assuming manual file transfer is secure sharing
2. Which Snowflake object do you create first to start sharing data securely?
easy
A. Share
B. Role
C. Warehouse
D. Database
Solution
Step 1: Identify the object for sharing
In Snowflake, a Share object is created to define what data to share.
Step 2: Eliminate other options
Databases hold data, warehouses process queries, roles manage permissions but do not start sharing.
Final Answer:
Share -> Option A
Quick Check:
Create a Share to share data [OK]
Hint: Start sharing by creating a Share object [OK]
Common Mistakes:
Trying to share by creating a database
Confusing warehouse with sharing object
Assuming roles start sharing
3. Given this SQL snippet, what does it do?
CREATE SHARE my_share;
GRANT SELECT ON DATABASE sales_db TO SHARE my_share;
ALTER SHARE my_share ADD ACCOUNTS = ('account_123');
medium
A. Creates a share, grants access to sales_db, and shares with account_123
B. Creates a database named my_share and grants access to account_123
C. Adds a new database to sales_db and shares it with account_123
D. Creates a warehouse named my_share and assigns it to account_123
Solution
Step 1: Analyze each command
CREATE SHARE my_share; creates a share object named my_share. GRANT SELECT ON DATABASE sales_db TO SHARE my_share; grants read access on sales_db to the share. ALTER SHARE my_share ADD ACCOUNTS = ('account_123'); adds account_123 as a recipient.
Step 2: Understand the overall effect
This sequence shares sales_db data with account_123 via my_share.
Final Answer:
Creates a share, grants access to sales_db, and shares with account_123 -> Option A
Quick Check:
Share + grant + add account = share data [OK]
Hint: Look for CREATE SHARE then GRANT and ADD ACCOUNTS [OK]
Common Mistakes:
Confusing share with database creation
Thinking ALTER SHARE adds data, not accounts
Mixing warehouse and share concepts
4. You run this command but get an error:
ALTER SHARE my_share ADD ACCOUNTS = ('account_123', 'account_123');
What is the likely cause?
medium
A. Account names must be numeric
B. Missing SELECT privilege on the share
C. Share name is invalid
D. Duplicate account names in the list
Solution
Step 1: Check the command syntax and parameters
The command tries to add two accounts with the same name 'account_123' to the share.
Step 2: Identify the error cause
Duplicate account names in the ADD ACCOUNTS list cause an error because each account must be unique.
Final Answer:
Duplicate account names in the list -> Option D
Quick Check:
Duplicate accounts cause errors [OK]
Hint: Avoid duplicate accounts in ADD ACCOUNTS list [OK]
Common Mistakes:
Assuming share name is invalid without checking
Thinking privileges cause this error
Believing account names must be numbers
5. You want to share only specific tables from your database securely. Which approach should you use?
hard
A. Grant SELECT on the entire database to the share
B. Grant SELECT on specific schemas to the share
C. Grant SELECT on specific tables to the share
D. Create a new database with only those tables and share it
Solution
Step 1: Understand granularity of sharing
Snowflake allows granting privileges at database, schema, or table level to shares.
Step 2: Choose the most precise option
Granting SELECT on specific tables limits sharing to only those tables, which fits the requirement.
Step 3: Evaluate other options
Granting on entire database or schema shares more than needed; creating a new database is extra work and less flexible.
Final Answer:
Grant SELECT on specific tables to the share -> Option C
Quick Check:
Grant on tables = share specific data [OK]
Hint: Grant on tables to share only those tables [OK]
Common Mistakes:
Granting on database shares too much data
Assuming schema-level grant is always best
Creating new databases unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.