ADA-C01 Question 500
Single answerMonitor data sharing usageA Snowflake provider account shares a database with several consumer accounts. The provider's administrators need to identify which shared objects are actively being queried by consumers and estimate the volume of data transfer associated with those queries over the last 30 days. They want a solution that can be queried directly from the provider account without requiring access to the consumer accounts. Which approach should the administrator use?
- A
Query the ACCOUNT_USAGE.ACCESS_HISTORY view in the provider account to see all consumer queries against shared objects and the number of bytes transferred
- B
Query the ACCOUNT_USAGE.DATA_TRANSFER_HISTORY view in the provider account and filter for data sharing activity to analyze bytes transferred by consumers
- C
Query the INFORMATION_SCHEMA.QUERY_HISTORY table function in the provider account to retrieve all SQL statements executed by consumer accounts against the shared database
- D
Use SHOW SHARES and DESCRIBE SHARE to identify the exact shared objects queried by consumers and the amount of data each consumer transferred
Show answer and explanation
Correct answer: B
Explanation
To monitor data sharing usage from the provider side, Snowflake administrators should use account usage views designed for transfer monitoring rather than standard query history or share metadata commands. DATA_TRANSFER_HISTORY is the relevant source for estimating how much data has been transferred in support of sharing activity over a given period. In contrast, QUERY_HISTORY in the provider account does not expose SQL executed by consumers, because those queries run in the consumer account. Likewise, SHOW SHARES and DESCRIBE SHARE only expose share definitions and included objects, not usage telemetry. Best practice is to combine share metadata with ACCOUNT_USAGE monitoring views, especially DATA_TRANSFER_HISTORY, when tracking provider-side data sharing consumption and transfer patterns.
- A. Incorrect.
Incorrect. ACCESS_HISTORY is useful for object-level access lineage and auditing within an account, but it does not provide a comprehensive provider-side view of all consumer query activity for data sharing with transferred-byte metrics in the way required here. A common misconception is that object access auditing in the provider account directly exposes consumer-side shared query usage in detail.
- B. Correct.
Correct. DATA_TRANSFER_HISTORY in ACCOUNT_USAGE is the appropriate provider-side source for monitoring data egress, including data sharing-related transfer activity. By filtering this view for relevant sharing records and time windows, administrators can estimate the volume of data transferred to consumers. This is the best available provider-account-native approach for monitoring sharing usage without needing consumer account access.
- C. Incorrect.
Incorrect. QUERY_HISTORY in the provider account shows queries executed in that provider account, not the full set of SQL statements run inside consumer accounts against shared data. Consumer queries run in the consumer account context, so they are not exposed through the provider's QUERY_HISTORY. This is a frequent misunderstanding when troubleshooting shared data usage.
- D. Incorrect.
Incorrect. SHOW SHARES and DESCRIBE SHARE provide metadata about shares, such as which objects are included and share configuration details, but they do not report consumer query activity or transferred data volumes. They help with administration of shares, not usage monitoring.