MetricSign
EN|NLRequest Access
Medium severityconfiguration

Power BI Refresh Error:
PROJECTION_POLICY_NOT_FOUND

What does this error mean?

An ALTER TABLE or ALTER VIEW statement tried to apply a projection policy that does not exist in the specified schema, or a query failed because a previously applied projection policy was dropped.

Common causes

  • 1The projection policy was dropped but not unset from the column it was protecting
  • 2The policy name was misspelled or the schema context is different from where the policy was created
  • 3A database clone or schema migration did not carry over the projection policy object
  • 4An IaC or deployment script deleted the policy without first detaching it from all columns

How to fix it

  1. 1Step 1: Run SHOW PROJECTION POLICIES IN SCHEMA <database>.<schema> to list existing policies.
  2. 2Step 2: If the policy is missing, recreate it: CREATE PROJECTION POLICY <name> AS () RETURNS PROJECTION_CONSTRAINT -> PROJECTION_CONSTRAINT(ALLOW=>true).
  3. 3Step 3: If the policy was dropped but columns still reference it (showing Policy Error in Snowsight), unset the broken reference: ALTER TABLE <t> MODIFY COLUMN <c> UNSET PROJECTION POLICY.
  4. 4Step 4: Reapply the correct projection policy once it is recreated.
  5. 5Step 5: Add the projection policy to your IaC pipeline as a named object to prevent accidental deletion.

Frequently asked questions

What does a projection policy do in Snowflake?

A projection policy controls whether a column can appear in the SELECT clause of a query result. It can prevent certain roles from ever retrieving the column value directly, even if they have SELECT on the table.

Can a projection policy be applied to a view column?

Yes. Projection policies can be applied to view columns as well as table columns. However, the policy body cannot reference a column that is itself protected by a masking policy or a table with a row access policy.

Other configuration errors