Monitoring & Troubleshooting

Part of Streaming Transformations. See all pages in this section.

Check pipe status. Run SELECT SYSTEM$PIPE_STATUS('<pipe_name>'); to get the pipe’s executionState (RUNNING, PAUSED, STALLED_*, STOPPED_MISSING_TABLE, and others) and its error field. This is the fastest way to confirm a transformation pipe’s health. For example, when a dimension table is dropped or access is revoked (see Usage notes), the pipe shows a stalled/stopped state with an error message here.

Check row-level ingestion errors. Set ERROR_LOGGING = TRUE on the target table, then query:

SELECT * FROM ERROR_TABLE(my_streaming_table) WHERE error_metadata:service = 'snowpipe_streaming';

Error tables capture the original, untransformed payload plus the pipe and channel name for each failed row.

This does not apply to a pipe that uses LATERAL FLATTEN: row expansion and ERROR_LOGGING can currently not be combined, so no error table is available for such a pipe. Use SYSTEM$PIPE_STATUS and getChannelStatus() to diagnose it instead.

Check client-side channel health. If you’re using the Snowpipe Streaming SDK, call getChannelStatus() to retrieve rows_inserted, rows_parsed, rows_error_count, and last_error_message per channel — useful for catching schema mismatches or SDK-side validation errors.

Common issues

SymptomLikely causeWhat to do
Pipe won’t createYou are using a SQL feature that is not supported in transformation pipesRevise the PIPE definition to omit the unsupported feature. Use post-ingestion features such as Dynamic Tables, streams and tasks, or CTAS.
Pipe stalled/stoppedDimension table dropped or privilege revokedRestore the table or grant, then resume the pipe
Enriched column unexpectedly NULLNo matching dimension row (LEFT OUTER JOIN semantics)Use COALESCE as shown in JOIN semantics or check dimension snapshot staleness
Pipe won’t accept changes via ALTERALTER PIPE not supported for transformation pipesDROP and recreate the pipe
Pipe will not create, or fails at ingest after enabling error loggingTarget table has ERROR_LOGGING enabled and the transform contains a LATERAL FLATTENDisable ERROR_LOGGING on the target table.

Previous: Scenario F: Privacy-safe ingestion