ADA-C01 Dumps Updated Nov 23, 2025 Practice Test and 80 unique questions 2025 Latest 100% Exam Passing Ratio - ADA-C01 Dumps PDF Snowflake ADA-C01 Exam Syllabus Topics: TopicDetailsTopic 1Manage and implement data sharing Given a set of business requirements, establish access control architectureTopic 2Snowflake Security, Role-Based Access Control (RBAC), and User Administration Disaster Recovery, [...]

ADA-C01 Dumps Updated Nov 23, 2025 Practice Test and 80 unique questions [Q23-Q43]

Share

ADA-C01 Dumps Updated Nov 23, 2025 Practice Test and 80 unique questions

2025 Latest 100% Exam Passing Ratio - ADA-C01 Dumps PDF


Snowflake ADA-C01 Exam Syllabus Topics:

TopicDetails
Topic 1
  • Manage and implement data sharing
  • Given a set of business requirements, establish access control architecture
Topic 2
  • Snowflake Security, Role-Based Access Control (RBAC), and User Administration
  • Disaster Recovery, Backup, and Data Replication
Topic 3
  • Interpret and make recommendations for data clustering
  • Manage DML locking and concurrency in Snowflake
Topic 4
  • Given a scenario, configure access controls
  • Set up and manage security administration and authorization
Topic 5
  • Implement and manage data governance in Snowflake
  • Data Sharing, Data Exchange, and Snowflake Marketplace
Topic 6
  • Given a scenario, manage databases, tables, and views
  • Manage organizations and access control

 

NEW QUESTION # 23
A user with the proper role issues the following commands when setting up and activating network policies:
CREATE OR REPLACE NETWORK POLICY foo_policy
ALLOWED_IP_LIST = ( '1.1.1.0/24', '2.2.2.0/24' , '3.3. 3. 0/24' )
BLOCKED IP LIST = ( '1.1.1.1')
COMMENT = 'Account level policy';
ALTER ACCOUNT SET NETWORK_POLICY=FOO_POLICY;
CREATE OR REPLACE NETWORK POLICY bar_policy
ALLOWED_IP_LIST = ('3.3.3.0/24')
BLOCKED IP LIST = ('3.3.3.10')
COMMENT = 'user level policy';
ALTER USER userl SET NETWORK_POLICY=BAR_POLICY;
Afterwards, user1 attempts to log in to Snowflake from IP address 3.3.3.10.
Will the login be successful?

  • A. No, because 3.3.3.10 is found in the BLOCKED_IP_LIST of bar_policy.
  • B. Yes, because 3.3.3.10 is found in the ALLOWED_IP_LIST of bar_policy.
  • C. No, because 3.3.3.10 is not found in the ALLOWED_IP_LIST of foo_policy.
  • D. Yes, because 3.3.3.10 is found in the ALLOWED_IP_LIST of foo_policy.

Answer: A

Explanation:
Explanation
According to the Snowflake documentation1, network policies are a feature that allows restricting access to your account based on user IP address. A network policy can be applied to an account, a user, or a security integration, and can specify a list of allowed IP addresses and a list of blocked IP addresses. If there are network policies applied to more than one of these, the most specific network policy overrides more general network policies. In this case, the user1 has a network policy (bar_policy) applied to them, which overrides the account-level network policy (foo_policy). The bar_policy allows access only from the IP range 3.3.3.0/24, and blocks access from the IP address 3.3.3.10. Therefore, the user1 will not be able to log in to Snowflake from IP address 3.3.3.10, as it is found in the BLOCKED_IP_LIST of bar_policy. Option A is incorrect because the ALLOWED_IP_LIST of bar_policy does not override the BLOCKED_IP_LIST of bar_policy.
Option C is incorrect because the ALLOWED_IP_LIST of foo_policy does not apply to user1, as it is overridden by the user-level network policy. Option D is incorrect because the ALLOWED_IP_LIST of foo_policy does not matter, as it is overridden by the user-level network policy.


NEW QUESTION # 24
What roles or security privileges will allow a consumer account to request and get data from the Data Exchange? (Select TWO).

  • A. SYSADMIN
  • B. IMPORT SHARE and CREATE DATABASE
  • C. SECURITYADMIN
  • D. ACCOUNTADMIN
  • E. IMPORT PRIVILEGES and SHARED DATABASE

Answer: B,D

Explanation:
According to the Accessing a Data Exchange documentation, a consumer account can request and get data from the Data Exchange using either the ACCOUNTADMIN role or a role with the IMPORT SHARE and CREATE DATABASE privileges. The ACCOUNTADMIN role is the top-level role that has all privileges on all objects in the account, including the ability to request and get data from the Data Exchange. A role with the IMPORT SHARE and CREATE DATABASE privileges can also request and get data from the Data Exchange, as these are the minimum privileges required to create a database from a share. The other options are incorrect because:
* A. The SYSADMIN role does not have the privilege to request and get data from the Data Exchange, unless it is also granted the IMPORT SHARE and CREATE DATABASE privileges. The SYSADMIN role is a pre-defined role that has all privileges on all objects in the account, except for the privileges reserved for the ACCOUNTADMIN role, such as managing users, roles, and shares.
* B. The SECURITYADMIN role does not have the privilege to request and get data from the Data Exchange, unless it is also granted the IMPORT SHARE and CREATE DATABASE privileges. The SECURITYADMIN role is a pre-defined role that has the privilege to manage security objects in the account, such as network policies, encryption keys, and security integrations, but not data objects, such as databases, schemas, and tables.
* E. The IMPORT PRIVILEGES and SHARED DATABASE are not valid privileges in Snowflake. The correct privilege names are IMPORT SHARE and CREATE DATABASE, as explained above.


NEW QUESTION # 25
What session parameter can be used to test the integrity of secure views based on the account that is accessing that view?

  • A. MIMIC_CONSUMER_ACCOUNT
  • B. TEST_ACCOUNT_ID
  • C. SIMULATED_DATA_SHARING_CONSUMER
  • D. PRODUCER_TEST_ACCT

Answer: C

Explanation:
Explanation
The SIMULATED_DATA_SHARING_CONSUMER session parameter allows a data provider to test the integrity of secure views based on the account that is accessing that view2. By setting this parameter to the name of the consumer account, the data provider can query the secure view and see the results that a user in the consumer account will see2. This helps to ensure that sensitive data in a shared database is not exposed to unauthorized users1. The other options are not valid session parameters in Snowflake3


NEW QUESTION # 26
Which Snowflake objects can be managed using SCIM integration? (Select TWO).

  • A. Warehouses
  • B. Roles
  • C. Shares
  • D. Stages
  • E. Users

Answer: B,E

Explanation:
Explanation
A SCIM security integration allows the automated management of user identities and groups (i.e. roles) by creating an interface between Snowflake and a third-party Identity Provider (IdP)1. Snowflake supports SCIM integration with Okta, Azure, and custom SCIM clients2. SCIM integration does not support managing other Snowflake objects, such as stages, warehouses, or shares3. Therefore, the answer is B. Users and D. Roles.


NEW QUESTION # 27
What are benefits of using Snowflake organizations? (Select TWO).

  • A. Administrators have the ability to create accounts in any available cloud provider or region.
  • B. Administrators can monitor and understand usage across all accounts in the organization.
  • C. Administrators can simplify data movement across all accounts within the organization.
  • D. User administration is simplified across all accounts within the organization.
  • E. Administrators can change Snowflake account editions on-demand based on need.

Answer: A,B

Explanation:
Explanation
According to the Snowflake documentation1, organizations are a feature that allows linking the accounts owned by a business entity, simplifying account management and billing, replication and failover, data sharing, and other account administration tasks. Some of the benefits of using organizations are:
*Administrators can monitor and understand usage across all accounts in the organization using the ORGANIZATION_USAGE schema, which provides historical usage data for all accounts in the organization via views in a shared database named SNOWFLAKE2. This can help to optimize costs and performance across the organization.
*Administrators have the ability to create accounts in any available cloud provider or region using the CREATE ACCOUNT command, which allows specifying the cloud platform and region for the new account3.
This can help to meet the business needs and compliance requirements of the organization.
Option A is incorrect because administrators cannot change Snowflake account editions on-demand based on need, but rather have to contact Snowflake Support to request an edition change4. Option C is incorrect because administrators cannot simplify data movement across all accounts within the organization, but rather have to enable account database replication for both the source and target accounts, and use the ALTER DATABASE ... ENABLE REPLICATION TO ACCOUNTS command to promote a local database to serve as the primary database and enable replication to the target accounts5. Option D is incorrect because user administration is not simplified across all accounts within the organization, but rather requires creating and managing users, roles, and privileges for each account separately, unless using a federated authentication method such as SSO or SCIM.


NEW QUESTION # 28
When does auto-suspend occur for a multi-cluster virtual warehouse?

  • A. When there has been no activity on any cluster for the specified period of time.
  • B. After a specified period of time when an additional cluster has started on the maximum number of clusters specified for a warehouse.
  • C. Auto-suspend does not apply for multi-cluster warehouses.
  • D. When the minimum number of clusters is running and there is no activity for the specified period of time.

Answer: D

Explanation:
According to the Multi-cluster Warehouses documentation, auto-suspend is a feature that allows a warehouse to automatically suspend itself after a specified period of inactivity. For a multi-cluster warehouse, auto-suspend applies to the entire warehouse, not to individual clusters. Therefore, auto-suspend occurs when the minimum number of clusters is running and there is no activity for the specified period of time. The other options are incorrect because:
* A. Auto-suspend does not occur when there has been no activity on any cluster for the specified period of time. This would imply that each cluster has its own auto-suspend timer, which is not the case. The warehouse has a single auto-suspend timer that is reset by any activity on any cluster.
* B. Auto-suspend does not occur after a specified period of time when an additional cluster has started on the maximum number of clusters specified for a warehouse. This would imply that the auto-suspend timer is affected by the number of clusters running, which is not the case. The auto-suspend timer is only affected by the activity on the warehouse, regardless of the number of clusters running.
* D. Auto-suspend does apply for multi-cluster warehouses, as explained above. It is a feature that can be enabled or disabled for any warehouse, regardless of the number of clusters.


NEW QUESTION # 29
The following SQL command was executed:
Use role SECURITYADMIN;
Grant ownership
On future tables
In schema PROD. WORKING
To role PROD_WORKING_OWNER;
Grant role PROD_WORKING_OWNER to role SYSADMIN;
Use role ACCOUNTADMIN;
Create table PROD.WORKING.XYZ (value number) ;
Which role(s) can alter or drop table XYZ?

  • A. SECURITYADMIN, SYSADMIN, and ACCOUNTADMIN can alter or drop table XYZ.
  • B. Only the PROD_WORKING_OWNER role can alter or drop table XYZ.
  • C. Because ACCOUNTADMIN created the table, only the ACCOUNTADMIN role can alter or drop table XYZ.
  • D. PROD_WORKING_OWNER, ACCOUNTADMIN, and SYSADMIN can alter or drop table XYZ.

Answer: D

Explanation:
According to the GRANT OWNERSHIP documentation, the ownership privilege grants full control over the table and can only be held by one role at a time. However, the current owner can also grant the ownership privilege to another role, which transfers the ownership to the new role. In this case, the SECURITYADMIN role granted the ownership privilege on future tables in the PROD.WORKING schema to the PROD_WORKING_OWNER role. This means that any table created in that schema after the grant statement will be owned by the PROD_WORKING_OWNER role. Therefore, the PROD_WORKING_OWNER role can alter or drop table XYZ, which was created by the ACCOUNTADMIN role in the PROD.WORKING schema. Additionally, the ACCOUNTADMIN role can also alter or drop table XYZ, because it is the top-level role that has all privileges on all objects in the account. Furthermore, the SYSADMIN role can also alter or drop table XYZ, because it was granted the PROD_WORKING_OWNER role by the SECURITYADMIN role. The SYSADMIN role can activate the PROD_WORKING_OWNER role and inherit its privileges, including the ownership privilege on table XYZ. The SECURITYADMIN role cannot alter or drop table XYZ, because it does not have the ownership privilege on the table, nor does it have the PROD_WORKING_OWNER role.


NEW QUESTION # 30
Which commands can be performed by a user with the ORGADMIN role but not the ACCOUNTADMIN role? (Select TWO).

  • A. SELECT SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER (
    'ACCOUNT LOCATOR',
    'ENABLE ACCOUNT DATABASE_REPLICATION',
    'true'
    );
  • B. SHOW REGIONS;
  • C. SHOW ORGANIZATION ACCOUNTS;
  • D. SHOW USERS;
  • E. GRANT ROLE ORGADMIN TO USER <username>;

Answer: A,C

Explanation:
Explanation
According to the Snowflake documentation1, the ORGADMIN role is a special system role that is responsible for managing operations at the organization level, such as creating and viewing accounts, enabling database replication, and setting global account parameters. The ACCOUNTADMIN role is a system role that is responsible for managing operations at the account level, such as creating and managing users, roles, warehouses, databases, and shares. Therefore, the commands that can be performed by the ORGADMIN role but not the ACCOUNTADMIN role are:
*SHOW ORGANIZATION ACCOUNTS: This command lists all the accounts in the organization and their properties, such as region, edition, and status2. The ACCOUNTADMIN role can only show the current account and its properties using the SHOW ACCOUNTS command3.
*SELECT SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER: This function sets a global account parameter for an account in the organization, such as enabling account database replication4. The ACCOUNTADMIN role can only set local account parameters using the ALTER ACCOUNT command.
Option A is incorrect because the SHOW REGIONS command can be executed by any role, not just the ORGADMIN role. Option B is incorrect because the SHOW USERS command can be executed by the ACCOUNTADMIN role, as well as any role that has been granted the MONITOR privilege on the account.
Option D is incorrect because the GRANT ROLE ORGADMIN TO USER <username> command can be executed by the ACCOUNTADMIN role, as well as any role that has been granted the ORGADMIN role1.


NEW QUESTION # 31
What access control policy will be put into place when future grants are assigned to both database and schema objects?

  • A. Schema privileges will take precedence over database privileges.
  • B. Database privileges will take precedence over schema privileges.
  • C. An access policy combining both the database object and the schema object will be used, with the most restrictive policy taking precedence.
  • D. An access policy combining both the database object and the schema object will be used, with the most permissive policy taking precedence.

Answer: A

Explanation:
Explanation
When future grants are defined on the same object type for a database and a schema in the same database, the schema-level grants take precedence over the database level grants, and the database level grants are ignored4.
This behavior applies to privileges on future objects granted to one role or different roles4. Future grants allow defining an initial set of privileges to grant on new (i.e. future) objects of a certain type in a database or a schema3. As soon as the new objects are created inside the database or schema, the predefined set of privileges are assigned to the object automatically without any manual intervention3.


NEW QUESTION # 32
A user has enrolled in Multi-factor Authentication (MFA) for connecting to Snowflake. The user informs the Snowflake Administrator that they lost their mobile phone the previous evening.
Which step should the Administrator take to allow the user to log in to the system, without revoking their MFA enrollment?

  • A. Instruct the user to connect to Snowflake using SnowSQL, which does not support MFA authentication.
  • B. Alter the user and set DISABLE_MFA to true, which will suspend the MFA requirement for 24 hours.
  • C. Instruct the user to append the normal URL with /?mode=mfa_bypass&code= to log on.
  • D. Alter the user and set MINS TO BYPASS MFA to a value that will disable MFA long enough for the user to log in.

Answer: D

Explanation:
Explanation
The MINS_TO_BYPASS_MFA property allows the account administrator to temporarily disable MFA for a user who has lost their phone or changed their phone number1. The user can log in without MFA for the specified number of minutes, and then re-enroll in MFA using their new phone1. This does not revoke their MFA enrollment, unlike the DISABLE_MFA property, which cancels their enrollment and requires them to re-enroll from scratch1. The other options are not valid ways to bypass MFA, as SnowSQL does support MFA authentication2, and there is no such URL parameter as /?mode=mfa_bypass&code= for Snowflake3


NEW QUESTION # 33
In which scenario will use of an external table simplify a data pipeline?

  • A. When accessing a Snowflake table from a relational database
  • B. When accessing a Snowflake table that references data files located in cloud storage
  • C. When accessing a Snowflake table from an external database within the same region
  • D. When continuously writing data from a Snowflake table to external storage

Answer: B

Explanation:
Explanation
According to the Introduction to External Tables documentation, an external table is a Snowflake feature that allows you to query data stored in an external stage as if the data were inside a table in Snowflake. The external stage is not part of Snowflake, so Snowflake does not store or manage the stage. This simplifies the data pipeline by eliminating the need to load the data into Snowflake before querying it. External tables can access data stored in any format that the COPY INTO <table> command supports, such as CSV, JSON, AVRO, ORC, or PARQUET. The other scenarios do not involve external tables, but rather require data loading, unloading, or federation.


NEW QUESTION # 34
What is required for stages, without credentials, to limit data exfiltration after a storage integration and associated stages are created?

  • A. ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION = false;
    ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION = false;
    ALTER ACCOUNT my_account SET
    PREVENT_UNLOAD_TO_INLINE_URL = true;
  • B. ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION = true;
    ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION = true;
    ALTER ACCOUNT my_account SET
    PREVENT_UNLOAD_TO_INLINE_URL = false;
  • C. ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION = true;
    ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION FOR STAGE_OPERATION = true;
    ALTER ACCOUNT my_account SET
    PREVENT_UNLOAD_TO_INLINE_URL = true;
  • D. ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION = false;
    ALTER ACCOUNT my_account SET
    REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION = false;
    ALTER ACCOUNT my_account SET
    PREVENT_UNLOAD_TO_INLINE_URL = false;

Answer: C

Explanation:
Explanation
According to the Snowflake documentation1, stages without credentials are a way to create external stages that use storage integrations to access data files in cloud storage without providing any credentials to Snowflake.
Storage integrations are objects that define a trust relationship between Snowflake and a cloud provider, allowing Snowflake to authenticate and authorize access to the cloud storage. To limit data exfiltration after a storage integration and associated stages are created, the following account-level parameters can be set:
*REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION: This parameter enforces that all external stages must be created using a storage integration. This prevents users from creating external stages with inline credentials or URLs that point to unauthorized locations.
*REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION: This parameter enforces that all operations on external stages, such as PUT, GET, COPY, and LIST, must use a storage integration. This prevents users from performing operations on external stages with inline credentials or URLs that point to unauthorized locations.
*PREVENT_UNLOAD_TO_INLINE_URL: This parameter prevents users from unloading data from Snowflake tables to inline URLs that do not use a storage integration. This prevents users from exporting data to unauthorized locations.
Therefore, the correct answer is option D, which sets all these parameters to true. Option A is incorrect because it sets PREVENT_UNLOAD_TO_INLINE_URL to false, which allows users to unload data to inline URLs that do not use a storage integration. Option B is incorrect because it sets both REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION and REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION to false, which allows users to create and operate on external stages without using a storage integration. Option C is incorrect because it sets all the parameters to false, which does not enforce any restrictions on data exfiltration.


NEW QUESTION # 35
For Snowflake network policies, what will occur when the account_level and user_level network policies are both defined?

  • A. A network policy error will be generated with no definitions provided.
  • B. The user_level network policies will not be supported.
  • C. The account_level policy will override the user_level policy.
  • D. The user_level policy will override the account_level policy.

Answer: D

Explanation:
According to the Network Policies documentation, a network policy can be applied to an account, a security integration, or a user. If there are network policies applied to more than one of these, the most specific network policy overrides more general network policies. The following summarizes the order of precedence:
* Account: Network policies applied to an account are the most general network policies. They are overridden by network policies applied to a security integration or user.
* Security Integration: Network policies applied to a security integration override network policies applied to the account, but are overridden by a network policy applied to a user.
* User: Network policies applied to a user are the most specific network policies. They override both accounts and security integrations.
Therefore, if both the account_level and user_level network policies are defined, the user_level policy will take effect and the account_level policy will be ignored. The other options are incorrect because:
* The account_level policy will not override the user_level policy, as explained above.
* The user_level network policies will be supported, as they are part of the network policy feature.
* A network policy error will not be generated, as there is no conflict between the account_level and user_level network policies.


NEW QUESTION # 36
Which masking policy will mask a column whenever it is queried through a view owned by a role named MASKED_VIEW_ROLE?

  • A. create or replace masking policy maskString as (val string) returns string -> case when array_contains ('MASKED_VIEW_ROLE' :: variant, parse_json (current_available_roles ())) then '* else val end;
    ** '
  • B. create or replace masking policy maskstring as (val string) returns string -> case when invoker_role() in ('MASKED_VIEW_ROLE') then else val end;
    ' **
  • C. create or replace masking policy maskString as (val string) returns string -> case when current_role() in ('MASKED_VIEW_ROLE') then ' ********* ' else val end;
  • D. create or replace masking policy maskstring as (val string) returns string -> case when is_role_in_session ('MASKED_VIEW_ROLE') then ' ** else val end;
    *,

Answer: D

Explanation:
A masking policy is a SQL expression that transforms the data in a column based on the role that queries the column1. The is_role_in_session function returns true if the specified role is in the current session2. Therefore, the masking policy in option A will mask the column data with asterisks whenever it is queried through a view owned by the MASKED_VIEW_ROLE3. The other options use different functions that do not check the ownership of the view, but rather the current role, the invoker role, or the available roles in the session45. These functions may not return the desired result if the role that owns the view is different from the role that queries the view.


NEW QUESTION # 37
What roles or security privileges will allow a consumer account to request and get data from the Data Exchange? (Select TWO).

  • A. SYSADMIN
  • B. IMPORT SHARE and CREATE DATABASE
  • C. SECURITYADMIN
  • D. ACCOUNTADMIN
  • E. IMPORT PRIVILEGES and SHARED DATABASE

Answer: B,D

Explanation:
Explanation
According to the Accessing a Data Exchange documentation, a consumer account can request and get data from the Data Exchange using either the ACCOUNTADMIN role or a role with the IMPORT SHARE and CREATE DATABASE privileges. The ACCOUNTADMIN role is the top-level role that has all privileges on all objects in the account, including the ability to request and get data from the Data Exchange. A role with the IMPORT SHARE and CREATE DATABASE privileges can also request and get data from the Data Exchange, as these are the minimum privileges required to create a database from a share. The other options are incorrect because:
*A. The SYSADMIN role does not have the privilege to request and get data from the Data Exchange, unless it is also granted the IMPORT SHARE and CREATE DATABASE privileges. The SYSADMIN role is a pre-defined role that has all privileges on all objects in the account, except for the privileges reserved for the ACCOUNTADMIN role, such as managing users, roles, and shares.
*B. The SECURITYADMIN role does not have the privilege to request and get data from the Data Exchange, unless it is also granted the IMPORT SHARE and CREATE DATABASE privileges. The SECURITYADMIN role is a pre-defined role that has the privilege to manage security objects in the account, such as network policies, encryption keys, and security integrations, but not data objects, such as databases, schemas, and tables.
*E. The IMPORT PRIVILEGES and SHARED DATABASE are not valid privileges in Snowflake. The correct privilege names are IMPORT SHARE and CREATE DATABASE, as explained above.


NEW QUESTION # 38
What roles can be used to create network policies within Snowflake accounts? (Select THREE).

  • A. ORGADMIN
  • B. SECURITYADMIN
  • C. SYSADMIN
  • D. Any role that owns the database where the network policy is created
  • E. ACCOUNTADMIN
  • F. Any role with the global permission of CREATE NETWORK POLICY

Answer: B,E,F

Explanation:
Explanation
Network policies are used to restrict access to the Snowflake service and internal stages based on user IP address1. To create network policies, a role must have the global permission of CREATE NETWORK POLICY2. By default, the system-defined roles of SECURITYADMIN and ACCOUNTADMIN have this permission3. However, any other role can be granted this permission by an administrator4. Therefore, the answer is B, C, and E. The other options are incorrect because SYSADMIN and ORGADMIN do not have the CREATE NETWORK POLICY permission by default3, and network policies are not tied to specific databases5.


NEW QUESTION # 39
A company has many users in the role ANALYST who routinely query Snowflake through a reporting tool.
The Administrator has noticed that the ANALYST users keep two
small clusters busy all of the time, and occasionally they need three or four clusters of that size.
Based on this scenario, how should the Administrator set up a virtual warehouse to MOST efficiently support this group of users?

  • A. Create a multi-cluster warehouse with MIN_CLUSTERS set to 2. Set the warehouse to auto-resume and auto-suspend, and give USAGE privileges to the ANALYST role. Allow the warehouse to auto-scale.
  • B. Create four virtual warehouses (sized Small through XL) and set them to auto-suspend andauto-resume.
    Have users in the ANALYST role select the appropriate warehouse based on how many queries are being run.
  • C. Create a standard X-Large warehouse, which is equivalent to four small clusters. Set the warehouse to auto-resume and auto-suspend, and give USAGE privileges to the ANALYST role.
  • D. Create a multi-cluster warehouse with MIN_CLUSTERS set to 1. Give MANAGE privileges to the ANALYST role so this group can start and stop the warehouse, and increase the number of clusters as needed.

Answer: A

Explanation:
Explanation
According to the Snowflake documentation1, a multi-cluster warehouse is a virtual warehouse that consists of multiple clusters of compute resources that can scale up or down automatically to handle the concurrency and performance needs of the queries submitted to the warehouse. A multi-cluster warehouse has a minimum and maximum number of clusters that can be specified by the administrator. Option B is the most efficient way to support the group of users, as it allows the administrator to create a multi-cluster warehouse with MIN_CLUSTERS set to 2, which means that the warehouse will always have two clusters running to handle the standard workload. The warehouse can also auto-scale up to the maximum number of clusters (which can be set according to the peak workload) when there is a spike in demand, and then scale down when the demand decreases. The warehouse can also auto-resume and auto-suspend, which means that the warehouse will automatically start when a query is submitted and automatically stop after a period of inactivity. The administrator can also give USAGE privileges to the ANALYST role, which means that the users can use the warehouse to execute queries and load data, but not modify or operate the warehouse. Option A is not efficient, as it requires the users to manually start and stop the warehouse, and increase the number of clusters as needed, which can be time-consuming and error-prone. Option C is not efficient, as it creates a standard X-Large warehouse, which is equivalent to four small clusters, which may be more than needed for the standard workload, and may not be enough for the peak workload. Option D is not efficient, as it creates four virtual warehouses of different sizes, which can be confusing and cumbersome for the users to select the appropriate warehouse based on how many queries are being run, and may also result in wasted resources and costs.


NEW QUESTION # 40
Which actions are considered breaking changes to data that is shared with consumers in the Snowflake Marketplace? (Select TWO).

  • A. Deleting data from a table
  • B. Adding region availability to the listing
  • C. Dropping a column from a table
  • D. Unpublishing the data listing
  • E. Renaming a table

Answer: C,E

Explanation:
Explanation
According to the Snowflake documentation1, breaking changes are changes that affect the schema or structure of the shared data, such as dropping or renaming a column or a table. These changes may cause errors or unexpected results for the consumers who query the shared data. Deleting data from a table, unpublishing the data listing, or adding region availability to the listing are not breaking changes, as they do not alter the schema or structure of the shared data.
1: Managing Data Listings in Snowflake Data Marketplace | Snowflake Documentation


NEW QUESTION # 41
A Snowflake Administrator needs to retrieve the list of the schemas deleted within the last two days from the DB1 database.
Which of the following will achieve this?

  • A. SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.DATABASES;
  • B. SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.SCHEMATA;
  • C. SHOW SCHEMAS IN DATABASE DB1;
  • D. SELECT * FROM DB1.INFORMATION_SCHEMA.SCHEMATA;

Answer: B

Explanation:
To retrieve a list of schemas deleted within the last 2 days from the DB1 database, you need a metadata view that includes historical data, including dropped (deleted) objects.
Let's review the options:
✅ B. SNOWFLAKE.ACCOUNT_USAGE.SCHEMATA
This is the correct choice because:
It includes metadata for all schemas, even deleted ones, within the retention period.
It contains a DELETED column and a DELETED_ON timestamp column.
You can filter rows with:
sql
CopyEdit
SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.SCHEMATA
WHERE DELETED IS TRUE
AND DELETED_ON >= DATEADD(DAY, -2, CURRENT_TIMESTAMP())
AND CATALOG_NAME = 'DB1';
❌ A. SHOW SCHEMAS IN DATABASE DB1;
Only shows current (active) schemas - does not include deleted schemas.
❌ C. DB1.INFORMATION_SCHEMA.SCHEMATA
Like option A, this view only includes active schemas in the current database.
No info on deleted schemas is retained.
❌ D. SNOWFLAKE.ACCOUNT_USAGE.DATABASES
This metadata view tracks databases, not individual schemas.
SnowPro Administrator Reference:
SNOWFLAKE.ACCOUNT_USAGE.SCHEMATA documentation
Metadata includes both active and deleted schemas (within retention window).


NEW QUESTION # 42
A Snowflake user runs a complex SQL query on a dedicated virtual warehouse that reads a large amount of data from micro-partitions. The same user wants to run another query that uses the same data set.
Which action would provide optimal performance for the second SQL query?

  • A. Prevent the virtual warehouse from suspending between the running of the first and secondqueries.
  • B. Use the RESULT_SCAN function to post-process the output of the first query.
  • C. Assign additional clusters to the virtual warehouse.
  • D. Increase the STATEMENT_TIMEOUT_IN_SECONDS parameter in the session.

Answer: B

Explanation:
Explanation
According to the Using Persisted Query Results documentation, the RESULT_SCAN function allows you to query the result set of a previous command as if it were a table. This can improve the performance of the second query by avoiding reading the same data from micro-partitions again. The other actions do not provide optimal performance for the second query because:
*Assigning additional clusters to the virtual warehouse does not affect the data access speed, but only the query execution speed. It also increases the cost of the warehouse.
*Increasing the STATEMENT_TIMEOUT_IN_SECONDS parameter in the session does not improve the performance of the query, but only allows it to run longer before timing out. It also increases the risk of resource contention and deadlock.
*Preventing the virtual warehouse from suspending between the running of the first and second queries does not guarantee that the data will be cached in memory, as Snowflake uses a least recently used (LRU) cache eviction policy. It also increases the cost of the warehouse.
https://docs.snowflake.com/en/user-guide/querying-persisted-results


NEW QUESTION # 43
......

Verified ADA-C01 dumps Q&As - 100% Pass from Prep4SureReview: https://www.prep4surereview.com/ADA-C01-latest-braindumps.html

Pass Exam With Full Sureness - ADA-C01 Dumps with 80 Questions: https://drive.google.com/open?id=14zCBhTz8GMwzahjCsNzryQtUFQHsNnZm