Every backup console shows green checkmarks. The job ran, the data copied, the report emailed itself. None of that tells you the data can be restored, that the restored server will boot, or that the restore finishes before the business runs out of patience.
The only proof is a restore. Not a theoretical one. An actual restore, into an actual environment, timed and documented. Here is how to build that into a routine that survives busy weeks.
What goes wrong when nobody tests
The failures are rarely dramatic. They are quiet, and they only surface at the worst moment.
Every one of these has a green checkmark next to it in the console. That is why the checkmark is not evidence.
- The backup excluded a folder someone added two years ago, and the payroll files live there.
- The VM image restores but will not boot, because the backup ran during a Windows update and the disk is in a half-patched state.
- The database backup is application-consistent in the report but was taken without the transaction log, and the restore stops at a point three days old.
- The encryption password for the backup repository was known to one person who left.
- The restore works but takes 26 hours over the WAN, and the business assumed 2.
- The immutable cloud copy has the data but nobody knows the account credentials because they were stored on the encrypted file server.
The four tiers of restore testing
Not every test needs to be a full disaster rehearsal. Work up through tiers, each proving something the previous one did not. The higher tiers happen less often but cannot be skipped.
- Tier 1, weekly, ten minutes: restore a handful of random files from a random restore point to an alternate location. Open them. Confirm the content is what you expect, not zero bytes or an encrypted blob.
- Tier 2, monthly, one hour: restore a full VM to an isolated network with no connection to production. Boot it. Log in. Confirm the application starts and the data is current as of the restore point.
- Tier 3, quarterly, half a day: restore a domain controller and one application server together into the isolated network. Confirm authentication works against the restored DC and the application can talk to its database.
- Tier 4, yearly, one day: full failover rehearsal. Restore the environment from the immutable offsite copy only, as if the local repository were gone. Time every step. This is your real recovery time.
Automate what you can
Most backup products can boot restored VMs in a sandbox and check them automatically. Veeam SureBackup, Datto screenshot verification and similar features run a restore, wait for the OS to boot, ping it, optionally run a script, and email a screenshot. Turn these on. They catch the will-not-boot class of failure every night without anyone lifting a finger.
Automation does not replace the manual tiers. It cannot tell you the restored application is usable, that the data is complete, or that your team knows the procedure. It just removes the most common excuse for skipping the test.
- Enable application-aware processing so SQL, Exchange and Active Directory backups are transactionally consistent. In Veeam this is a checkbox on the job under Guest Processing.
- For SQL Server, run RESTORE VERIFYONLY against native backup files on a schedule, and restore to a test instance monthly.
- Script Tier 1 with your backup product's PowerShell module or CLI and have it write to a log you review.
- Alert on job duration changes, not just failures. A backup that suddenly takes a tenth of the time usually means it backed up a tenth of the data.
-- SQL Server: verify a native backup file is readable and complete
RESTORE VERIFYONLY FROM DISK = N'D:\Backups\ERP_FULL.bak' WITH CHECKSUM;Document the result every time
A restore test that is not written down did not happen, as far as your insurer, auditor or successor is concerned. Keep the record short and keep it somewhere that survives the file server being encrypted, such as a ticket system or a document in a separate cloud tenant.
Record the date, the system, the restore point used, who performed it, how long it took from start to usable, and anything that went wrong. Over a year this log becomes your real recovery time objective, measured rather than hoped for.
- Store the backup encryption passphrase and cloud storage credentials in a password manager with an emergency access process. Test that emergency access too.
- Keep a printed one-page restore runbook in the office safe: where the copies are, how to reach them, the order to restore in.
- Review the log quarterly. If restore times are climbing, the fix is cheaper now than during an incident.
Frequently asked questions
We have hundreds of VMs. We cannot test them all.
You do not need to. Rank systems by how long the business can live without them, test the top tier on the schedule above, and rotate through the rest so each one gets a Tier 2 test at least once a year. Automated boot verification covers the long tail nightly.
Is restoring to production a valid test?
Only if you enjoy explaining why the file server rolled back to last Tuesday. Always restore to an alternate location or an isolated network. Most hypervisors make an isolated virtual switch trivial to create.
How do I test a Microsoft 365 backup?
The same way: restore a mailbox, a OneDrive folder and a SharePoint library to an alternate location or a test user, and confirm the content. Do it quarterly. Tenant-level restores are slow and you want to know the real number before you need it.
Takeaway
The backup job succeeding is the start of the question, not the answer. Restore files weekly, VMs monthly, a working stack quarterly and the whole environment from offsite once a year, and write down how long each one took. That log is the difference between a recovery plan and a hope.