MetricSign
Start free
High severitysql compilationSnowflake

Snowflake Error:
002003 (42S02), Object Does Not Exist

What does this error mean?

The table, view, schema, or other object referenced in the query does not exist in the current database and schema, or the active role has not been granted access to it.03, one of the most common errors in ETL pipelines.

Common causes

  • 1The table or view was dropped or renamed in the source system
  • 2The query is running in the wrong database or schema context
  • 3The role executing the query does not have USAGE on the schema, making the object invisible
  • 4A dbt model or upstream pipeline that creates the table has not run yet
  • 5A typo in the three-part name (database.schema.table)

How to fix it

  1. 1Run SHOW TABLES LIKE '%table_name%' IN SCHEMA <schema> to check if the object exists.
  2. 2Verify the current context: SELECT CURRENT_DATABASE(), CURRENT_SCHEMA().
  3. 3Grant USAGE on the schema and database to the role if permissions may be causing the object to be invisible.
  4. 4Check whether an upstream pipeline that creates the table has run successfully.
  5. 5Verify the full three-part object name is correct.

Frequently asked questions

Can an object 'disappear' due to a permission change?

Yes — if the role loses USAGE on the schema, the objects in that schema become invisible even though they still exist. Granting USAGE restores visibility.

How is 002003 different from 001044?

002003 means the object is not found or visible. 001044 means the object exists but the role explicitly lacks the privilege to use it.

Source · docs.snowflake.com/en/error-codes/error-002003

Other sql compilation errors