Database Snapshots & Disaster Recovery
Create automated or on-demand database snapshots, replicate across regional hubs, and restore or clone databases in seconds.
Database Snapshots & Disaster Recovery
NoCodeBackend provides integrated point-in-time database snapshots that allow you to safeguard your production data and revert accidental changes in seconds.
1. Overview: What is a Database Snapshot?
A snapshot is a complete, frozen image of your database at an exact moment in time. Unlike simple file backups, a NoCodeBackend snapshot captures:
- Full Relational Schema: All table definitions, column types, default values, and character sets.
- Constraints & Indexes: Foreign key relationships, unique indexes, and primary keys.
- Complete Row Data: Every record stored across all tables in that database instance.
- Authentication & Metadata Configuration: Auth settings, table permissions, and user accounts.
Why Use Snapshots?
- Pre-Migration Safety: Take an instant snapshot before modifying table columns, deleting legacy tables, or running batch updates.
- Accidental Deletion Rollback: If a buggy script or human error deletes critical records, restore the snapshot to roll back the database immediately.
2. Regional Storage & Data Locality
NoCodeBackend stores all database snapshots securely in encrypted cloud object storage located within the database's deployed geographic region:
- EU Central (Frankfurt): Snapshots are stored strictly within European infrastructure to guarantee full compliance with GDPR Chapter V international data transfer restrictions.
- US West (Phoenix): Snapshots are stored within high-availability North American infrastructure.
- Snapshots are indexed so that they are immediately visible, manageable, and restorable from your unified dashboard.
3. Step-by-Step Guide: Managing Snapshots
Step 3.1: Access the Snapshots Dashboard
- Log in to your NoCodeBackend dashboard.
- In the top navigation bar or sidebar, click Snapshots (or navigate to
/snapshots). - You will see:
- Snapshot Quota Meter: Current snapshots created vs your plan limit (e.g.,
4 of 10 snapshots used). - Snapshot Table: History of all snapshots with instance name, creation date, snapshot size, and region.
- Snapshot Quota Meter: Current snapshots created vs your plan limit (e.g.,
Step 3.2: Create an On-Demand Snapshot
- On the Snapshots page, click + Create Snapshot.
- In the dropdown, select the Database Instance you wish to snapshot.
- (Optional) Provide a descriptive label (e.g.,
Pre-Stripe Migration Backup). - Click Take Snapshot.
- NoCodeBackend locks the database tables momentarily in read-only mode to guarantee transaction consistency, exports the full dump, and saves the snapshot.
Step 3.3: Restoring a Database from a Snapshot
If you need to roll back a database to a prior snapshot:
- Locate the snapshot in the list and click Restore.
- A confirmation modal will appear detailing the target database.
- Type RESTORE in the confirmation input to confirm the destructive action.
- Click Confirm Restore.
- The restore engine flushes current tables and reconstructs the database structure and data to match the exact state captured in that snapshot.
💡Caution: Restoring a snapshot will overwrite any records created after the snapshot was taken. We recommend taking a fresh manual snapshot of the current state before executing a restore.
4. Capacity Management & Limits
Your snapshot limit is determined by your subscription or lifetime plan (and any snapshots delegated to or from team invitees):
- When your snapshot limit is reached, you cannot create new manual snapshots until you delete older snapshots.
- To delete a snapshot, click the Delete (Trash) icon next to any obsolete snapshot and confirm. The snapshot capacity is freed immediately.
5. Troubleshooting
Common Errors
Error: Snapshot limit exceeded
- Cause: You have reached the maximum number of snapshots allowed by your plan or delegated limit.
- Resolution: Delete obsolete snapshots from the
/snapshotsdashboard or upgrade your plan to increase snapshot capacity.
Error: Cannot restore: Database connection active
- Cause: Ongoing long-running batch write transactions are actively holding database locks.
- Resolution: Wait for background scripts or bulk imports to complete before initiating the restore.
