← All guides

Backup and restore basics for on-prem Business Central and LS Central installs

System admin · 9 min read

Server tower, external backup drive and POS terminal on a back-office desk
Back up the server, the backup media and the configuration - not just the database.

Most backup advice for Business Central is written for the online service, where Microsoft runs the backups for you. An on-prem install is the opposite arrangement: the database sits on your SQL Server, the LS Central components sit on your machines, and the backup job succeeds or fails on your schedule. This guide covers what actually needs backing up, the order a restore has to run in, how to test restores before an emergency tests them for you, and the mistakes that make a backup file worthless on the day it is needed.

On-prem is a different job from online

In Business Central online, databases are protected by automatic backups that Microsoft manages. Tenant administrators cannot directly access or manage those backups; they restore an environment to a point in time through the Business Central Admin Center, and LS Central's own documentation puts the online retention at 30 days. None of that machinery exists on-prem. There is no Admin Center restore button for your own server — there is only what your backup jobs captured, where they put it, and whether anyone has ever restored it.

QuestionOnline (SaaS)On-prem
Who runs the backups?Microsoft, automaticallyYou — scheduled SQL Server backup jobs
Who holds the backup files?Microsoft; admins cannot access them directlyYou — your storage, your retention, your problem if the storage fails with the server
How does a restore start?Pick a point in time in the Admin CenterRestore the SQL backups in sequence, then bring the service tier and LS components back up
What else must be recoverable?Handled inside the serviceServer instance configuration, extensions, and LS offline components are separate from the database

That last row is where on-prem restores usually fall apart. The database is the biggest piece, but it is not the whole system.

What actually needs backing up

Work through this inventory for every install, head office and stores alike. If an item is not on the list, assume it is not being backed up — because it isn't.

Backup types and a workable schedule

Because Business Central runs on a SQL Server database, backups use SQL Server's built-in functionality — from SQL Server Management Studio (right-click the database, Tasks, Back Up) or scripted with PowerShell — and regular backups can be scheduled with SQL Server Agent jobs. Three backup types do the work:

A workable pattern for most retail installs is a nightly full backup, differentials during the day if the database is large, and frequent log backups on the head-office database — with the schedule written down, the destination off the database server itself, and backup failure alerts going to a person, not a mailbox nobody reads. Two cautions belong in the runbook. First, ad-hoc manual backups taken outside the schedule should use the CopyOnly option: a copy-only backup leaves the transaction log alone and does not disturb the automated backup chain. Second, keep more than one generation. A backup rotation that overwrites last night's file with tonight's broken one is not a rotation.

Restore order, step by step

Order is not a detail here — it is the procedure. A complete SQL Server restore under the full recovery model runs in this sequence, and the database stays offline for the duration of the restore:

  1. Stop the traffic first. Stop the Business Central service tier (and store services) that use the database so nothing writes to it mid-restore.
  2. Back up the tail of the log. If the failed database is still reachable, take a tail-log backup first — it captures the log since the last log backup. If the active log is unavailable, that portion of transactions is lost; know that before you promise a recovery point.
  3. Restore the most recent full backup — with NORECOVERY, so the database stays in a restoring state ready for the next pieces.
  4. Restore the most recent differential backup, also with NORECOVERY, if differentials are part of your schedule.
  5. Restore the transaction log backups in sequence, each with NORECOVERY, starting with the first log backup taken after the full or differential you just restored — including the tail-log backup from step 2.
  6. Recover the database with RECOVERY (this can be combined with the last log restore).
  7. Restart the service tier against the restored database, then start the LS components — Scheduler, Data Director — and confirm replication jobs run and stores reconnect before declaring the system back.

For a narrower job — one company needs to come back, or data needs to move between databases — the .navdata route exists: Export-NAVData and Import-NAVData move company data, and optionally global data, application data, or application objects, between databases. That is a data-movement tool, not a substitute for database backups.

Test restores: the part everyone skips

An untested backup is a hope, not a backup. The standard test is a refresh of a test database from production, which doubles as proof the chain restores end to end:

  1. Take (or take from the schedule) a CopyOnly full backup of production, so the test does not disturb the live backup chain.
  2. Stop the test service tier.
  3. Restore the backup over the test database (Restore-SqlDatabase with replace, or the SSMS equivalent).
  4. Restart the test service tier and open the restored company.
  5. Verify, don't just open. Check that recent transactions and statements are present up to the backup time, run a familiar report, and confirm users and permissions came across.
  6. Time it and write it down. The elapsed time is your real recovery time. Record the date of the test, who ran it, and anything that failed — then fix the runbook, not just the test.

Run this on a schedule — quarterly is a sane floor for a system the business trades on — and after any change to the backup job, the SQL Server, or the LS setup.

Mistakes that make backups useless

Which restore route when

SituationRouteWhy
Server or database lost, need everything backFull sequence: full + differential + logsOnly route that rebuilds the whole database to the latest recoverable point
Bad posting or data damage at a known timeRestore to a point in time within the log backups, to a side database firstVerifies the damage is gone before anything replaces production
One company needed in another databaseExport-NAVData / Import-NAVDataMoves company (and optionally global/application) data without a full database restore
Refreshing a test environmentCopyOnly backup + restore over testProves the backup chain and refreshes test data in the same job

What success looks like

Backups for an on-prem retail system are not a feature you turn on; they are a routine you run and a restore you rehearse. Keep the routine boring, and the one bad day stays a bad day instead of a bad month. If your terminals also trade offline, make sure that side is covered too — see what happens in POS offline mode.

IndexBack to all guides →