When adding secure views to a share in Snowflake, which function is needed to authorize users from another account to access rows in a base table?
According to the Working with Secure Views documentation, secure views are designed to limit access to sensitive data that should not be exposed to all users of the underlying table(s). When sharing secure views with another account, the view definition must include a function that returns the identity of the user who is querying the view, such as CURRENT_USER, CURRENT_ROLE, or CURRENT_ACCOUNT. These functions can be used to filter the rows in the base table based on the user's identity. For example, a secure view can use the CURRENT_USER function to compare the user name with a column in the base table that contains the authorized user names. Only the rows that match the user name will be returned by the view. The CURRENT_CLIENT function is not suitable for this purpose, because it returns the IP address of the client that is connected to Snowflake, which is not related to the user's identity.
An Administrator needs to create a sample of the table LINEITEM. The sample should not be repeatable and the sampling function should take the data by blocks of rows.
What select command will generate a sample of 20% of the table?
Review the output of the SHOW statement below which displays the current grants on the table DB1. S1. T1:

This statement is executed:
USE ROLE ACCOUNTADMIN;
DROP ROLE A;
What will occur?
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?
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.
An Administrator loads data into a staging table every day. Once loaded, users from several different departments perform transformations on the data and load it into
different production tables.
How should the staging table be created and used to MINIMIZE storage costs and MAXIMIZE performance?
According to the Snowflake documentation1, a transient table is a type of table that does not support Time Travel or Fail-safe, which means that it does not incur any storage costs for maintaining historical versions of the data or backups for disaster recovery. A transient table can be dropped at any time, and the data is not recoverable. A transient table can also have a retention time of 0 days, which means that the data is deleted immediately after the table is dropped or truncated. Therefore, creating the staging table as a transient table with a retention time of 0 days can minimize the storage costs and maximize the performance, as the data is only loaded and transformed once, and then deleted after the production tables are populated. Option A is incorrect because creating the staging table as an external table, which references data files stored in a cloud storage location, can incur additional costs and complexity for data transfer and synchronization, and may not provide the best performance for data loading and transformation. Option C is incorrect because creating the staging table as a temporary table, which is automatically dropped when the session ends or the user logs out, can cause data loss or inconsistency if the session is interrupted or terminated before the production tables are populated. Option D is incorrect because creating the staging table as a permanent table, which supports Time Travel and Fail-safe, can incur additional storage costs for maintaining historical versions of the data and backups for disaster recovery, and may not provide the best performance for data loading and transformation.
Pamella
5 days agoAntonio
18 days agoCammy
25 days agoSage
1 month agoEvelynn
1 month agoWilliam
2 months agoAleisha
2 months agoCarisa
2 months agoVirgina
2 months agoEmilio
3 months agoAmie
3 months agoTijuana
3 months agoHelga
3 months agoStefany
4 months agoJosephine
4 months agoEleonore
4 months agoRory
4 months agoAlaine
5 months agoCyndy
5 months agoArlyne
5 months agoWillard
5 months agoDominga
6 months agoFelicia
6 months agoLouvenia
6 months agoCraig
8 months agoEdwin
9 months agoNieves
11 months agoDaniel
12 months agoBrande
1 year agoTamar
1 year agoAdria
1 year agoJerilyn
1 year agoLindsey
1 year agoSunny
1 year agoLatia
1 year agoMike
1 year agoJaime
1 year agoSylvie
1 year agoGilma
1 year agoPeggie
1 year agoReid
1 year agoMarge
1 year agoErasmo
2 years agoKenda
2 years agoCarey
2 years agoJerilyn
2 years agoEden
2 years agoSanjuana
2 years agoNicolette
2 years agoYoko
2 years agoLou
2 years agoFreida
2 years agoArthur
2 years agoTamar
2 years agoChristiane
2 years agoLai
2 years ago