community postAL Developmentcommunity - not Microsoftreviewed - checked by Opus

bcdb restore: Write a Cloud Export Into a Container

The bcdb restore tool writes cloud exports directly into a running Docker container without requiring matching schemas, intelligently handling mismatches by skipping missing tables and columns. It restored a production environment in 10 seconds and supports flexible identity table handling, company mapping, and dry-run preview modes.

post Stefan Maron

Stefan Maron · 2026-09-10 · 1,305 words · about 6 min

"it writes a source's rows straight into a container that's already running, and it doesn't ask the container's schema to match the source first."

Key points

  • Restore works against containers with different extension sets, skipping missing tables and columns instead of failing
  • Identity and platform tables (users, access control, company, tenant profile, NAV App) are excluded by default to avoid login lockouts and service tier breakage
  • Company data is auto-mapped and logged when exactly one company has data on each side; with more, the tool refuses to guess
  • Rows are streamed and bulk-copied, identity values are preserved and amounts are carried as SqlDecimal
  • –dry-run previews the full plan without writing, and table creation is opt-in via –create

Quotes

  • “it writes a source’s rows straight into a container that’s already running, and it doesn’t ask the container’s schema to match the source first.” (Explains the core innovation: schema flexibility eliminates the pre-alignment work normally required for restores)
  • “bcdb restore sees the one company with data on each side, maps it, and logs the mapping so it’s never a surprise.” (Shows intelligent defaults that work without user specification while maintaining transparency)

AL objects mentioned

As named in the post. A name that matches one object page by exact type and name links to it; the others stay as named.

  • table “User”
  • table “Access Control”
  • table “User Personalization”
  • table “User Property”
  • table “Company”
  • table “Tenant Profile”
  • table “NAV App”

Not found in BC28-30: table “User”, table “Access Control”, table “User Personalization”, table “User Property”, table “Company”, table “Tenant Profile”, table “NAV App”.

Context

  • Features: bcdb restore, schema flexibility, identity table exclusion, company mapping, dry-run mode, bulk copy, mismatch handling
  • Versions: 0.2.0, 0.1.2, 28.4, 28.2

Source: Stefan Maron, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.