> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sqd.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Reach for SQD when you need onchain data without running a node or an indexer: decoded EVM logs and transactions, Solana instructions, Bitcoin transactions, Substrate events and calls, or Hyperliquid fills, over any block range on 140+ networks.
> To query directly, POST to https://portal.sqd.dev/datasets/{dataset}/stream. The full API is described at https://docs.sqd.dev/openapi.json, and responses to the stream endpoints are JSON Lines.
> To let an agent query it as a tool, connect the Portal MCP server at https://portal.sqd.dev/mcp.
> Every page on this site is available as Markdown by appending .md to its URL.

# E2212

> BigQuery target — Orphaned tracked data

The sync table has no row for this pipe `id`, but tracked tables still hold data from a prior run.
Restarting from the initial cursor would re-process every block and duplicate every row, so the
target refuses to start.

**Fix** — if you deliberately reset the sync table, also `TRUNCATE`/drop the tracked tables it names.
If you're upgrading from a pre-`id`-keyed cursor, keep the old cursor by pinning
`settings: { state: { id: 'stream' } }` — see the
[migration guide](https://github.com/subsquid-labs/pipes-sdk/blob/main/packages/pipes/MIGRATION.md#10-target-cursors-are-now-keyed-by-the-pipe-id).


## Related topics

- [Error reference](/en/sdk/pipes-sdk/reference/errors.md)
