---
title: "Rehearse restoring a dropped warehouse · Agent Wranglers"
url: https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/warehouse-restore
id: DEN-33
level: Recommended
updated: 2026-10-22
build: a2a6bdfed830
tokens: 909
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Rehearse restoring a dropped warehouse table

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Warehouse and models](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: DEN-33
- Level: Recommended
- Chapter: [Warehouse and models](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models.md)
- Rule: Write down how long the warehouse can bring back a dropped or overwritten table. Keep raw tables and snapshots recoverable for longer than that, and rehearse one restore every 6 months.
- Check: On staging, drop a raw table and restore it from time travel or the export. Its row count matches the count before the drop. The rehearsal log shows one restore in the last 6 months.
- How: Models can be rebuilt from raw data, as [Land raw data unchanged and build tables in layers](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/raw-then-models.md) says. Raw tables and snapshots cannot, once the source has moved on. BigQuery's time travel reaches back 2 to 7 days, 7 by default, plus 7 days of fail-safe through support. Other warehouses have their own windows, and a self-hosted one needs backups as [Prove restores work](https://agentwranglers.se/playbook/data/backups-and-recovery/restore-tests.md) says. For a longer window, export raw tables and snapshots on a schedule to storage in another account. Give restores to a role that loaders and BI tools do not hold.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### Shell example

```sh
# BigQuery: copy the table as it was at a moment in Unix milliseconds
bq cp example:raw.orders@1767225600000 example:raw.orders_restored
```

## Sources

- [BigQuery data retention with time travel and fail-safe](https://docs.cloud.google.com/bigquery/docs/time-travel)

## Related rules

- DEN-2 [Land raw data unchanged and build tables in layers](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/raw-then-models.md) in Data engineering
- DAT-28 [Prove restores work](https://agentwranglers.se/playbook/data/backups-and-recovery/restore-tests.md) in Data and databases
- DEN-38 [Keep lake tables in an open table format and maintain them](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/open-table-formats.md) in Data engineering
- DEN-34 [Keep the history of changing values with snapshots](https://agentwranglers.se/playbook/data-engineering/loading-and-change-data-capture/snapshot-history.md) in Data engineering

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/warehouse-restore">Agent Wranglers data engineering playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Cap what each query and each month can cost](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/query-cost-limits.md)
- Next: [Keep lake tables in an open table format and maintain them](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/open-table-formats.md)
- [Warehouse and models](https://agentwranglers.se/playbook/data-engineering/warehouse-and-models.md)
