John, Data Engineer, do have technical requirements to refresh the External tables Metadata period-ically or in auto mode, which approach John can take to meet this technical specification?
Correct Answer: A,B
Explanation Both Option A & B are correct. For Refreshing External Table Metadata on a Auto Mode, John can use the AUTO_REFRESH pa-rameter properties of External table.When an external table is created, the AUTO_REFRESH pa-rameter is set to TRUE by default. When an external table is created, the AUTO_REFRESH parameter is set to TRUE by default. Snowflake recommend that you accept this default value for external tables that reference data files in either Amazon S3 or Microsoft Azure stages. However, the automatic refresh option is not available currently for external tables that reference Google Cloud Storage stages. For these external tables, manually refreshing the metadata on a schedule can be useful. The following example refreshes the metadata for an external table named snowdb.snowschema.snow_ext_table (using ALTER EXTERNAL TABLE ... REFRESH) on a schedule. -- Create a task that executes an ALTER EXTERNAL TABLE ... REFRESH statement every 5 minutes. 1.CREATE TASK snow_ext_table_refresh_task 2.WAREHOUSE=mywh 3.SCHEDULE='5 minutes' 4.AS 5.ALTER EXTERNAL TABLE snowmydb.snowmyschema.snow_ext_table REFRESH;
DEA-C01 Exam Question 52
A company is developing an application that runs on Amazon EC2 instances. Currently, the data that the application generates is temporary. However, the company needs to persist the data, even if the EC2 instances are terminated. A data engineer must launch new EC2 instances from an Amazon Machine Image (AMI) and configure the instances to preserve the data. Which solution will meet this requirement?
Correct Answer: B
Amazon EBS volumes are network-attached, and they persist independently of the life of an EC2 instance. By using an AMI backed by an Amazon EBS volume, the root device for the instance is an EBS volume, which means the data will persist.
DEA-C01 Exam Question 53
Which system role is recommended for a custom role hierarchy to be ultimately assigned to?
Correct Answer: B
Explanation The system role that is recommended for a custom role hierarchy to be ultimately assigned to is SECURITYADMIN. This role has the manage grants privilege on all objects in an account, which allows it to grant access privileges to other roles or revoke them as needed. This role can also create or modify custom roles and assign them to users or other roles. By assigning custom roles to SECURITYADMIN, the role hierarchy can be managed centrally and securely. The other options are not recommended system roles for a custom role hierarchy to be ultimately assigned to. Option A is incorrect because ACCOUNTADMIN is the most powerful role in an account, which has full access to all objects and operations. Assigning custom roles to ACCOUNTADMIN can pose a security risk and should be avoided. Option C is incorrect because SYSTEMADMIN is a role that has full access to all objects in the public schema of the account, but not to other schemas or databases. Assigning custom roles to SYSTEMADMIN can limit the scope and flexibility of the role hierarchy. Option D is incorrect because USERADMIN is a role that can manage users and roles in an account, but not grant access privileges to other objects. Assigning custom roles to USERADMIN can prevent the role hierarchy from controlling access to data and resources.
DEA-C01 Exam Question 54
A Data Engineer ran a stored procedure containing various transactions During the execution, the session abruptly disconnected preventing one transactionfrom committing or rolling hark.The transaction was left in a detached state and created a lock on resources ...must the Engineer take to immediately run a new transaction?
Correct Answer: A
Explanation The system function SYSTEM$ABORT_TRANSACTION can be used to abort a detached transaction that was left in an open state due to a session disconnect or termination. The function takes one argument: the transaction ID of the detached transaction. The function will abort the transaction and release any locks held by it. The other options are incorrect because they do not address the issue of a detached transaction. The system function SYSTEM$CANCEL_TRANSACTION can be used to cancel a running transaction, but not a detached one. The LOCK_TIMEOUT parameter can be used to set a timeout period for acquiring locks on resources, but it does not affect existing locks. The TRANSACTION_ABORT_ON_ERROR parameter can be used to control whether a transaction should abort or continue when an error occurs, but it does not affect detached transactions.
DEA-C01 Exam Question 55
Mark the correct Statements with respect to Secure views & its creation in the SnowFlake Account?
Correct Answer: B,C,D,E
Explanation Why Should I Use Secure Views? For a non-secure view, internal optimizations can indirectly expose data. Some of the internal optimizations for views require access to the underlying data in the base tables for the view. This access might allow data that is hidden from users of the view to be exposed through user code, such as user-defined functions, or other programmatic methods. Secure views do not utilize these optimizations, ensuring that users have no access to the underlying data. For a non-secure view, the view definition is visible to other users. By default, the query expression used to create a standard view, also known as the view definition or text, is visible to users in various commands and interfaces. For security or privacy reasons, you might not wish to expose the underlying tables or internal struc-tural details for a view. With secure views, the view definition and details are visible only to author-ized users (i.e. users who are granted the role that owns the view). When Should I Use a Secure View? Views should be defined as secure when they are specifically designated for data privacy (i.e. to limit access to sensitive data that should not be exposed to all users of the underlying table(s)). Secure views should not be used for views that are defined solely for query convenience, such as views created to simplify queries for which users do not need to understand the underlying data representation. Secure views can execute more slowly than non-secure views. Secure views are defined using the SECURE keyword with the standard DDL for views: To create a secure view, specify the SECURE keyword in the CREATE VIEW or CREATE MA-TERIALIZED VIEW command. To convert an existing view to a secure view and back to a regular view, set/unset the SECURE keyword in the ALTER VIEW or ALTER MATERIALIZED VIEW command. The definition of a secure view is only exposed to authorized users (i.e. users who have been grant-ed the role that owns the view). If an unauthorized user uses any of the following commands or in-terfaces, the view definition is not displayed: SHOW VIEWS and SHOW MATERIALIZED VIEWS commands. GET_DDL utility function. VIEWS Information Schema view. VIEWS Account Usage view. For non-materialized views, the IS_SECURE column in the Information Schema and Account Us-age views identifies whether a view is secure. The internals of a secure view are not exposed in Query Profile (in the web interface). This is the case even for the owner of the secure view, because non-owners might have access to an owner's Query Profile.