MetricSign
EN|NLRequest Access
High severityaccess control

Power BI Refresh Error:
001044 (42501)

What does this error mean?

The role executing the SQL statement does not have the required privilege on the object. This error is returned at compilation time, before the query executes.

Common causes

  • 1The role has not been granted SELECT on the target table
  • 2USAGE is not granted on the database or schema containing the object
  • 3A role change or privilege revocation occurred without updating dependent pipelines
  • 4The role is trying to write (INSERT/UPDATE/DELETE) to a table it only has SELECT on
  • 5A cloned table or database was not re-granted with the required privileges

How to fix it

  1. 1Grant the required privilege: GRANT SELECT ON TABLE <name> TO ROLE <role>
  2. 2Ensure USAGE is granted on the parent database and schema: GRANT USAGE ON DATABASE <db> TO ROLE <role>
  3. 3Run SHOW GRANTS TO ROLE <role> to see all current privileges
  4. 4Check if a REVOKE was run recently that removed access
  5. 5If using role hierarchies, verify the privilege is granted at the correct level

Frequently asked questions

What privileges does a role need to SELECT from a table?

USAGE on the database, USAGE on the schema, and SELECT on the table (or a higher privilege like OWNERSHIP).

Does cloning a table copy its privileges?

No — Snowflake cloning copies the object structure and data but not the access privileges. You need to re-grant privileges on cloned objects.

Other access control errors