Are Row Access Policies available in the Business Critical Edition of Snowflake?

Yes. Row Access Policies are available on the Enterprise Edition of Snowflake and higher.

Are Snowflake Directory Tables the same as External Tables on Snowflake?

No. Snowflake Directory Tables are implicit objects layered onto a Snowflake Stage Object while External Tables are actually their own separate object where privileges can be granted to. I guess theoretically they are similar in that that they store file-level metadata about data files in a Snowflake Stage.

Where is my row access policy stored – at an account or database or schema level?

Snowflake has made row access policies SCHEMA objects.

Can I clone a role in Snowflake?

No. As of 6/2022 you cannot clone data shares in Snowflake. The current objects you can clone are:\nDATABASE, SCHEMA, TABLE, STAGE, FILE FORMAT, SEQUENCE, STREAM, and TASK.

How do I setup Snowflake Sample Data Sets in my Snowflake Account?

There are many open source data sets you can load into your account but if you just want to get started with Snowflake then one of the great features is that it comes with sample data sets already available with a Sample Database titled SNOWFLAKE_SAMPLE_DATA that every user should see by default on every account. Within that sample database are sample data sets named TPC-H and TPC-DS which are stanard data sets used for benchmarking SQL and RDBMS systems. They are a great way to get started running some queries on Snowflake immediately without having to load any data into your Snowflake Data Cloud account just yet!

I created my PIPE on snowflake but its not working?

First things first, did you make sure you ALTERED the pipe to turn it on by executing... ALTER PIPE RESUME;

Can I use a Snowflake Stream on a TRANSIENT TABLE?

NULL

Can I use a row access policy with an external table?

Yes, you can create and apply a row access policy with EXTERNAL TABLES by applying it to the VALUE column of an existing external table. You do this by executing an ALTER TABLE statement against that external table.\n\nALSO. Note, that you CANNOT apply a row access policy to an external table virtual column directly. The way to deal with that is to add a policy to a view created on top of the external table.

How do I create a Snowflake Directory Table on an External Stage?

Assuming your External Stage already has been created and you did not have a Snowflake Directory Table associated with it then you can easily add a Snowflake Directory Table by using the following command: Also, remember, a directory table has no grantable privileges of its own so you must have the right privileges related to the Snowflake Stage you are altering. ALTER STAGE

Can I create BOTH a MASKING POLICY and ROW ACCESS POLICY on the same table or view?

Yes, you can create and apply a row access policy and a data masking policy on the SAME table or VIEW but not on the same exact column.

Can I change a column to be an identity column in Snowflake if it already exists?

There is no easy way to alter a table and change a column to an identity column if there is data in the table. If there is no data in the table then its actually easiest to add a new column which does the autoincrement and drop (remove) the existing column you wanted to alter if that is better for your table. [SIMILAR Question]

What happens when a table has BOTH a data masking policy and a row access policy applied to it? Does it use both?

Yes. The way it works  is that Snowflake EVALUATES the Row Access Policy FIRST and THEN the data masking policy. Also, note that if you do have BOTH a Row Access Policy and a Data Masking Policy associated with the SAME table then they CANNOT reference the same exact column.

Does the Snowflake Streams object contain data?

No. Technically the Snowflake STREAMS object adds hidden columns on the table itself that it is created on top of. The STREAMS object is dependent on the table its related to.

Do we incur storage costs for the Snowflake Sample Data Set I see within my account?

No. The sample data sets within Snowflake are technically data shares from Snowflake so there are no storage costs at all for them. If you do end up copying the data into your own tables then there would be storage costs for that. Also, if you query those tables, you do incur Compute Costs!

Can I clone a database from one account to another in the Snowflake Data Cloud?

So when a change happens in development, only that particular micro partition is changed and it will have two replicas. The changed replica will be available in development and the original replica will be available in Production. So like these you can create any number of replicas and pay only once if the data is not changed. In this example , you will learn how to clone a table. Let us clone the table that is created in the above section.

What type of SQL Statments can I use ROW Access Policies with?

SELECT statements and UPDATE, DELETE, and MERGE statements. Interestingl, you can actually use UPDATE, DELETE, and MERGE statements AGAINST rows selected with a Row Access Policy.

Is Snowflake encrypted at rest?

Yes. Snowflake is encrypted both in motion and at rest.

Can I perform ZERO copy cloning of a schema and its objects from one account database to another account database?

Cloning ONLY works within the SAME Snowflake account. Technically though if you setup database replication on one account to another and then you could clone a table on the initial account and you have the proper settings then that clone will also be replicated to the END replication database.

What is a TASK object in Snowflake? What does it do?

If you are familiar with cronjobs, I view Snowflake Tasks as kind of similar. When TASKS were introduced in ____ with Streams I was kind of surprised because I thought Snowflake kind of was starting to compete at a very basic level with all of their EL and ELT partners including [ list partners here ]. The combination of streams and tasks allows for basic data pipeline creation in Snowflake without any of the many EL and ELT tools and companiues. The task, similar to a cronjob, can kick off an operation and execution of a SQL statement or SQL procedure at a specific time. It actually uses the same crontab type syntax for Tasks that are scheduled. Tasks also though can be started based upon a depency of another task so that you have a true task by task hiearchy where the NEXT task will execute ONLY when the task its dependent has completed. Also, tasks do NOT have to all be sequential. Technically, you can have I assume hundreds of subtasks I'll call them dependent on the SAME exact parent task and they can all EXECUTE in parallel if you have enough Snowflake compute resources running at the time. One other point to note is you can configure a task to NOT run again if the same task is still running. For example, let's say your task is running every 5 minutes but one time it goes to 6 minutes. In this scenario, the task will not be initiated but skipped until the next execution at 4 minutes later. ALSO, PRO TIP which if you forget is COMPLETELY annoying. YOU MUST ALTER A TASK BEFORE it is ACTIVE! If you forget this STEP than perfectly CREATED TASK will NEVER EVER RUN!

How long can you set the time-travel retention for Snowflake Standard Edition?

You can set time travel retention period for any object from 1 to 7 days on the Snowflake Standard edition currently.