metricsign
Start free
High severityauthorizationSnowflake

Power BI Refresh Error:
ERR_PIPE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

What does this error mean?

The Snowpipe Streaming channel cannot access the target pipe because it either does not exist or the authenticated user lacks the required privileges. All inserts on this channel will fail until the pipe is accessible.

Common causes

  • 1The Snowpipe (or Snowpipe Streaming target table) was dropped or renamed after the channel was created
  • 2The user's role lacks INSERT and USAGE privileges on the target pipe or table
  • 3The pipe name in the streaming client configuration is misspelled or uses the wrong database/schema
  • 4A privilege was revoked from the service account role after the channel was opened
  • 5The channel was created against a different account or schema than the pipe

How to fix it

  1. 1Verify the pipe exists: SHOW PIPES LIKE '<pipe_name>' IN SCHEMA <db>.<schema>.
  2. 2Grant the required privileges: GRANT INSERT ON TABLE <table> TO ROLE <role> and GRANT USAGE ON PIPE <pipe> TO ROLE <role>.
  3. 3Check the fully-qualified pipe/table name in the streaming client config for typos.
  4. 4Reopen the channel after fixing permissions: call client.openChannel() again.
  5. 5Review GRANT history: use SHOW GRANTS ON PIPE <name> to confirm current privileges.

Frequently asked questions

Can I recover data that was sent while the pipe was inaccessible?

No — rows sent to a channel in error state are dropped. After fixing the pipe access, reopen the channel and resume streaming from the last committed offset.

How do I know the last successfully committed offset?

Call channel.getLatestCommittedOffsetToken() before reopening. This gives you the offset to resume from so you can replay unconfirmed rows from your source system.

Official documentation: https://docs.snowflake.com/en/user-guide/snowpipe-streaming/snowpipe-streaming-high-performance-error-handling

Other authorization errors