ExamGecko
Home Home / Snowflake / ADA-C01

Snowflake ADA-C01 Practice Test - Questions Answers

Question list
Search
Search

List of questions

Search

Related questions











A Snowflake organization MYORG consists of two Snowflake accounts:

The ACCOUNT1 has a database PROD_DB and the ORGADMIN role enabled.

Management wants to have the PROD_DB database replicated to ACCOUNT2.

Are there any necessary configuration steps in ACCOUNT1 before the database replication can be configured and initiated in ACCOUNT2?

A.
USE ROLE ORGADMIN; SELECT SYSTEMSGLOBAL_ACCOUNT_SET_PARAMETER ('MYORG. ACCOUNT1', 'ENABLE_ACCOUNT_DATABASE_REPLICATION', 'TRUE'); SELECT SYSTEMSGLOBAL_ACCOUNT_SET_PARAMETER ('MYORG. ACCOUNT2', 'ENABLE_ACCOUNT_DATABASE_REPLICATION', 'TRUE'); USE ROLE ACCOUNTADMIN; ALTER DATABASE PROD DB ENABLE REPLICATION TO ACCOUNTS MYORG. ACCOUNT2;
A.
USE ROLE ORGADMIN; SELECT SYSTEMSGLOBAL_ACCOUNT_SET_PARAMETER ('MYORG. ACCOUNT1', 'ENABLE_ACCOUNT_DATABASE_REPLICATION', 'TRUE'); SELECT SYSTEMSGLOBAL_ACCOUNT_SET_PARAMETER ('MYORG. ACCOUNT2', 'ENABLE_ACCOUNT_DATABASE_REPLICATION', 'TRUE'); USE ROLE ACCOUNTADMIN; ALTER DATABASE PROD DB ENABLE REPLICATION TO ACCOUNTS MYORG. ACCOUNT2;
Answers
B.
USE ROLE ORGADMIN; SELECT SYSTEMSGLOBAL ACCOUNT SET_PARAMETER ( 'MYORG. ACCOUNT1', 'ENABLE_ACCOUNT_DATABASE_REPLICATION', 'TRUE'); USE ROLE ACCOUNTADMIN; ALTER DATABASE PROD_DB ENABLE REPLICATION TO ACCOUNTS MYORG. ACCOUNT2 IGNORE EDITION CHECK;
B.
USE ROLE ORGADMIN; SELECT SYSTEMSGLOBAL ACCOUNT SET_PARAMETER ( 'MYORG. ACCOUNT1', 'ENABLE_ACCOUNT_DATABASE_REPLICATION', 'TRUE'); USE ROLE ACCOUNTADMIN; ALTER DATABASE PROD_DB ENABLE REPLICATION TO ACCOUNTS MYORG. ACCOUNT2 IGNORE EDITION CHECK;
Answers
C.
No configuration steps are necessary in ACCOUNT1. Replicating databases across accounts within the same Snowflake organization is enabled by default.
C.
No configuration steps are necessary in ACCOUNT1. Replicating databases across accounts within the same Snowflake organization is enabled by default.
Answers
D.
It is not possible to replicate a database from an Enterprise edition Snowflake account to a Standard edition Snowflake account.
D.
It is not possible to replicate a database from an Enterprise edition Snowflake account to a Standard edition Snowflake account.
Answers
Suggested answer: B

Explanation:

According to the Snowflake documentation1, database replication across accounts within the same organization requires the following steps:

* Link the accounts in the organization using the ORGADMIN role.

* Enable account database replication for both the source and target accounts using the SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER function.

* Promote a local database to serve as the primary database and enable replication to the target accounts using the ALTER DATABASE ... ENABLE REPLICATION TO ACCOUNTS command.

* Create a secondary database in the target account using the CREATE DATABASE ... FROM SHARE command.

* Refresh the secondary database periodically using the ALTER DATABASE ... REFRESH command.

Option A is incorrect because it does not include the step of creating a secondary database in the target account. Option C is incorrect because replicating databases across accounts within the same organization is not enabled by default, but requires enabling account database replication for both the source and target accounts. Option D is incorrect because it is possible to replicate a database from an Enterprise edition Snowflake account to a Standard edition Snowflake account, as long as the IGNORE EDITION CHECK option is used in the ALTER DATABASE ... ENABLE REPLICATION TO ACCOUNTS command2. Option B is correct because it includes all the necessary configuration steps in ACCOUNT1, except for creating a secondary database in ACCOUNT2, which can be done after the replication is enabled.

What is a characteristic of Snowflake's transaction locking and concurrency modeling?

A.
A deadlock cannot occur in Snowflake, since concurrently executed queries and DML statements do not block one another.
A.
A deadlock cannot occur in Snowflake, since concurrently executed queries and DML statements do not block one another.
Answers
B.
If two queries are concurrently executed against the same table, one of the two queries will be blocked until the other query completes.
B.
If two queries are concurrently executed against the same table, one of the two queries will be blocked until the other query completes.
Answers
C.
Transaction locking in Snowflake is enforced exclusively at the row and table levels.
C.
Transaction locking in Snowflake is enforced exclusively at the row and table levels.
Answers
D.
Queries executed within a given transaction see that transaction's uncommitted changes.
D.
Queries executed within a given transaction see that transaction's uncommitted changes.
Answers
Suggested answer: A

Explanation:

According to the Snowflake documentation1, Snowflake uses a multi-version concurrency control (MVCC) model, which means that each transaction operates on a consistent snapshot of the database at a point in time. This allows queries and DML statements to run concurrently without blocking each other, as they do not modify the same data. Therefore, a deadlock, which occurs when concurrent transactions are waiting on resources that are locked by each other, cannot happen in Snowflake. Option B is incorrect because queries and DML statements do not block each other in Snowflake, unless they are explicitly started transactions and multiple statements in each transaction2. Option C is incorrect because transaction locking in Snowflake is enforced at the partition level, not the row or table level3. Option D is incorrect because queries executed within a given transaction do not see that transaction's uncommitted changes, but only the committed changes that occurred before the transaction started1.

A Snowflake Administrator created a role ROLE_MANAGED_ACCESS and a schema SCHEMA_MANAGED_ACCESS as follows:

USE ROLE SECURITYADMIN;

CREATE ROLE ROLE_MANAGED_ACCESS;

GRANT ROLE ROLE_MANAGED_ACCESS TO ROLE SYSADMIN;

GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE ROLE_MANAGED_ACCESS;

GRANT ALL privileges ON DATABASE WORK TO ROLE ROLE_MANAGED_ACCESS;

USE ROLE ROLE_MANAGED_ACCESS;

CREATE SCHEMA SCHEMA_MANAGED_ACCESS WITH MANAGED ACCESS;

USE ROLE SECURITYADMIN;

GRANT SELECT, INSERT ON FUTURE TABLES IN SCHEMA SCHEMA MANAGED ACCESS to ROLE_MANAGED_ACCESS;

The Administrator now wants to disable the managed access on the schema.

How can this be accomplished?

A.
ALTER SCHEMA SCHEMA MANAGED ACCESS DISABLE MANAGED ACCESS;
A.
ALTER SCHEMA SCHEMA MANAGED ACCESS DISABLE MANAGED ACCESS;
Answers
B.
USE ROLE ROLE MANAGED_ACCESS; DROP SCHEMA WORK. SCHEMA_MANAGED_ACCESS; CREATE SCHEMA SCHEMA_MANAGED_ACCESS; Then recreate all needed objects.
B.
USE ROLE ROLE MANAGED_ACCESS; DROP SCHEMA WORK. SCHEMA_MANAGED_ACCESS; CREATE SCHEMA SCHEMA_MANAGED_ACCESS; Then recreate all needed objects.
Answers
C.
REVOKE SELECT, INSERT ON FUTURE TABLES IN SCHEMA SCHEMA_MANAGED_ACCESS FROM ROLE_MANAGED_ACCESS; ALTER SCHEMA SCHEMA MANAGED ACCESS DISABLE MANAGED ACCESS;
C.
REVOKE SELECT, INSERT ON FUTURE TABLES IN SCHEMA SCHEMA_MANAGED_ACCESS FROM ROLE_MANAGED_ACCESS; ALTER SCHEMA SCHEMA MANAGED ACCESS DISABLE MANAGED ACCESS;
Answers
D.
USE ROLE ROLE_MANAGED_ACCESS; DROP SCHEMA WORK. SCHEMA MANAGED_ACCESS; CREATE SCHEMA SCHEMA_MANAGED_ACCESS WITHOUT MANAGED ACCESS; Then recreate all needed objects.
D.
USE ROLE ROLE_MANAGED_ACCESS; DROP SCHEMA WORK. SCHEMA MANAGED_ACCESS; CREATE SCHEMA SCHEMA_MANAGED_ACCESS WITHOUT MANAGED ACCESS; Then recreate all needed objects.
Answers
Suggested answer: A

Explanation:

According to the Snowflake documentation1, you can change a managed access schema to a regular schema using the ALTER SCHEMA statement with the DISABLE MANAGED ACCESS keywords. This will disable the managed access feature on the schema and revert the access control to the default behavior. Option B is incorrect because dropping and recreating the schema will also delete all the objects and metadata in the schema, which is not necessary to disable the managed access. Option C is incorrect because revoking the privileges on the future tables from the role is not required to disable the managed access. Option D is incorrect because there is no WITHOUT MANAGED ACCESS option in the CREATE SCHEMA statement.

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

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

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.

If the query matches the definition, will Snowflake always dynamically rewrite the query to use a materialized view?

A.
No, because joins are not supported by materialized views.
A.
No, because joins are not supported by materialized views.
Answers
B.
No, because the optimizer might decide against it.
B.
No, because the optimizer might decide against it.
Answers
C.
No, because the materialized view may not be up-to-date.
C.
No, because the materialized view may not be up-to-date.
Answers
D.
Yes, because materialized views are always faster.
D.
Yes, because materialized views are always faster.
Answers
Suggested answer: B

Explanation:

Snowflake's query optimizer can automatically rewrite queries against the base table or regular views to use the materialized view instead, if the query matches the definition of the materialized view1. However, this is not always guaranteed, as the optimizer might decide against using the materialized view based on various factors, such as the freshness of the data, the size of the result set, the complexity of the query, and the availability of the materialized view2. Therefore, the answer is no, because the optimizer might decide against it.

Which Snowflake objects can be managed using SCIM integration? (Select TWO).

A.
Stages
A.
Stages
Answers
B.
Users
B.
Users
Answers
C.
Warehouses
C.
Warehouses
Answers
D.
Roles
D.
Roles
Answers
E.
Shares
E.
Shares
Answers
Suggested answer: B, D

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.

A Snowflake Administrator is investigating why a query is not re-using the persisted result cache.

The Administrator found the two relevant queries from the SNOWFLAKE. ACCOUNT_USAGE. QUERY_HISTORY view:

Why is the second query re-scanning micro-partitions instead of using the first query's persisted result cache?

A.
The second query includes a CURRENT_TIMESTAMP () function.
A.
The second query includes a CURRENT_TIMESTAMP () function.
Answers
B.
The second query includes a CURRENT_DATE () function.
B.
The second query includes a CURRENT_DATE () function.
Answers
C.
The queries are executed with two different virtual warehouses.
C.
The queries are executed with two different virtual warehouses.
Answers
D.
The queries are executed with two different roles.
D.
The queries are executed with two different roles.
Answers
Suggested answer: A

Explanation:

The inclusion of the CURRENT_TIMESTAMP() function in the second query prevents it from re-using the first query's persisted result cache because this function makes each execution unique due to the constantly changing timestamp. According to theSnowflake documentation, ''The query does not include non-reusable functions, which return different results for successive runs of the same query. UUID_STRING, RANDOM, and RANDSTR are good examples of non-reusable functions.'' The CURRENT_TIMESTAMP() function is another example of a non-reusable function, as it returns the current date and time at the start of query execution, which varies for each run. Therefore, the second query is not identical to the first query, and the result cache is not reused. The other options are either incorrect or irrelevant to the question. Option B is incorrect, as the CURRENT_DATE() function is a reusable function, as it returns the same value for all queries executed within the same day. Option C is irrelevant, as the virtual warehouse used to execute the query does not affect the result cache reuse. Option D is also irrelevant, as the role used to execute the query does not affect the result cache reuse, as long as the role has the necessary access privileges for all the tables used in the query.

The ACCOUNTADMIN of Account 123 works with Snowflake Support to set up a Data Exchange. After the exchange is populated with listings from other Snowflake accounts, hat roles in Account 123 are allowed to request and get data?

A.
Only the ACCOUNTADMIN role, and no other roles
A.
Only the ACCOUNTADMIN role, and no other roles
Answers
B.
Any role with USAGE privilege on the Data Exchange
B.
Any role with USAGE privilege on the Data Exchange
Answers
C.
Any role with IMPORT SHARE and CREATE DATABASE privileges
C.
Any role with IMPORT SHARE and CREATE DATABASE privileges
Answers
D.
Any role that the listing provider has designated as authorized
D.
Any role that the listing provider has designated as authorized
Answers
Suggested answer: B

Explanation:

To request and get data from a Data Exchange, the role in Account 123 must have the USAGE privilege on the Data Exchange object. This privilege allows the role to view the listings and request access to the data. According to theSnowflake documentation, ''To view the listings in a data exchange, a role must have the USAGE privilege on the data exchange object. To request access to a listing, a role must have the USAGE privilege on the data exchange object and the IMPORT SHARE privilege on the account.'' The other options are either incorrect or not sufficient to request and get data from a Data Exchange. Option A is incorrect, as the ACCOUNTADMIN role is not the only role that can request and get data, as long as other roles have the necessary privileges. Option C is incorrect, as the IMPORT SHARE and CREATE DATABASE privileges are not required to request and get data, but only to create a database from a share after the access is granted. Option D is incorrect, as the listing provider does not designate the authorized roles in Account 123, but only approves or denies the requests from Account 123.


A Snowflake account is configured with SCIM provisioning for user accounts and has bi-directional synchronization for user identities. An Administrator with access to SECURITYADMIN uses the Snowflake UI to create a user by issuing the following commands:

use role USERADMIN;

create or replace role DEVELOPER_ROLE;

create user PTORRES PASSWORD = 'hello world!' MUST_CHANGE_PASSWORD = FALSE

default_role = DEVELOPER_ROLE;

The new user named PTORRES successfully logs in, but sees a default role of PUBLIC in the web UI. When attempted, the following command fails:

use DEVELOPER_ROLE;

Why does this command fail?

A.
The DEVELOPER_ROLE needs to be granted to SYSADMIN before user PTORRES will be able to use the role.
A.
The DEVELOPER_ROLE needs to be granted to SYSADMIN before user PTORRES will be able to use the role.
Answers
B.
The new role can only take effect after USERADMIN has logged out.
B.
The new role can only take effect after USERADMIN has logged out.
Answers
C.
USERADMIN needs to explicitly grant the DEVELOPER_ROLE to the new USER.
C.
USERADMIN needs to explicitly grant the DEVELOPER_ROLE to the new USER.
Answers
D.
The new role will only take effect once the identity provider has synchronized by way of SCIM with the Snowflake account.
D.
The new role will only take effect once the identity provider has synchronized by way of SCIM with the Snowflake account.
Answers
Suggested answer: C

Explanation:

According to the Snowflake documentation1, creating a user with a default role does not automatically grant that role to the user. The user must be explicitly granted the role by the role owner or a higher-level role. Therefore, the USERADMIN role, which created the DEVELOPER_ROLE, needs to explicitly grant the DEVELOPER_ROLE to the new user PTORRES using the GRANT ROLE command. Otherwise, the user PTORRES will not be able to use the DEVELOPER_ROLE and will see the default role of PUBLIC in the web UI. Option A is incorrect because the DEVELOPER_ROLE does not need to be granted to SYSADMIN before user PTORRES can use the role. Option B is incorrect because the new role can take effect immediately after it is created and granted to the user, and does not depend on the USERADMIN role logging out. Option D is incorrect because the new role will not be affected by the identity provider synchronization, as it is created and managed in Snowflake.

Which type of listing in the Snowflake Marketplace can be added and queried immediately?

A.
Monetized listing
A.
Monetized listing
Answers
B.
Standard listing
B.
Standard listing
Answers
C.
Regional listing
C.
Regional listing
Answers
D.
Personalized listing
D.
Personalized listing
Answers
Suggested answer: B

Explanation:

According to the Snowflake documentation1, a standard listing is a type of listing that provides free access to the full data product, with no payment required. A standard listing can be added and queried immediately by the consumer, as long as they accept the terms and conditions of the listing. A monetized listing is a type of listing that charges for access to the data product, using the pricing models offered by Snowflake. A monetized listing requires the consumer to provide payment information and agree to the billing terms before accessing the data product. A regional listing is not a type of listing, but a way to specify the regions where the listing is available. A personalized listing is a type of listing that provides limited trial access to the data product, with unlimited access to the full data product available upon request. A personalized listing requires the consumer to request access from the provider and wait for the provider to grant access before accessing the data product. Therefore, the only type of listing that can be added and queried immediately is the standard listing.

Total 72 questions
Go to page: of 8