We are booking in new cases · Weekdays, 9am–5:30pm Urgent case? Call 0800 6890668
MHDR Maidenhead Data Recovery 0800 6890668 Send it in
MHDR / Specialist cases / Database recovery

Specialist work · database engines

Database recovery in Maidenhead. Readable bytes are one thing; a store the engine will mount is another.

A database engine is built to distrust itself, which is why SQL Server and Exchange will refuse a store outright rather than guess at what a damaged page once held. The repair switches they ship restore consistency the only way they can, by discarding whatever no longer adds up. That sets the order of work here: MDF, LDF and EDB files are imaged with their logs before any utility runs, every repair is aimed at the clone, and the media sent in from Maidenhead is read once, then set aside.

No fee unless the data comes back Diagnosis free, then a fixed quote Post it in from Windsor, Slough or anywhere else

Describe the fault to an engineer
0800 6890668

What each database symptom is telling you.

None of these? Run the triage →
The symptomThe likely causeStart here
The database has been flagged SuspectThe log would not replay cleanly after an unclean stopCopy the MDF and the log first
Held in Recovery PendingStart-up cannot complete, and the disk underneath is usually failingHave the storage examined as well
Torn pages, or error 823 and 824A read hit pages that no longer checksumStop the retries and image it
Error 5171 — ‘not a primary database file’The MDF header is damagedRebuild that header on a clone
The store reports Dirty ShutdownLog generations are still uncommittedRead the header before anything else
Someone has already run a hard repairREPAIR_ALLOW_DATA_LOSS is named after its costSend it to us
If you post it in: use a tracked, insured service addressed to our secure intake lab, and the return leg is paid at our end; if you would rather check the packing first, an engineer will go through it by phone. Each step is set out on the postage page.

Four things we hold to in database work.

Nothing is written backEvery MDF, NDF, LDF and EDB, with its log set, is forensically imaged before a utility is allowed near it. Repair tools are heavy writers. A clone is what makes a wrong decision reversible.
Kept for the very endREPAIR_ALLOW_DATA_LOSS will hand you a consistent database, and it does so by deleting whatever it cannot parse. The warning is written into the name. Here it is a final option, never the opening move, and only ever run against a clone.
Examine the EDB before repairingA header read is non-destructive, and it answers the questions that decide the job: how the store went down, which log generations are missing, and how deep the damage runs. A hard repair answers none of that. What it cannot read it removes, and the case turns into a migration.
The answer is usually underneathMuch of what reaches us described as ‘database corruption’ is the storage layer showing through: a member dropped from an array, a write interrupted by power loss, a snapshot caught mid-transaction. Mend the file, leave the disk as it was, and the same damage returns within weeks, which is why the server and RAID page sits beside this one.

What happens between arrival and return.

The most recent cases →
01

Booked in, then assessed at no cost Free

Nothing becomes chargeable until you have said yes to it. Each item takes a case number of its own the moment it arrives, an engineer establishes what has actually failed, and you are given a candid view of which files stand a realistic chance of returning. The single quote that follows is fixed, written down, and costs nothing.

Diagnosis at no costOne fixed quote, in writingNothing signed
02

A clone before any tool runs

Data files, logs and any backups you send are cloned read-only. If the underlying disks are themselves failing, the server and RAID process comes first, so that what we repair is a healthy image.

Imaged, never written toFailing disks come first
03

Rebuilt, replayed, read out

On the clone and nowhere else: headers are rebuilt and logs rolled forward as far as they can be trusted. Beyond that, the work moves into the file’s own page structures, from which tables, mailboxes and attachments are read out.

Trustworthy logs replayedOr pages lifted one by one
04

The engine has to agree first

We do not close a case on our own say-so. The database has to attach, the store has to mount, queries have to come back with rows, and whichever records you named as critical are opened by hand and checked first.

It mounts and answersKey records opened by hand
05

Opened, verified, and sent home

Nothing is billed until you have seen the recovered file list in full and told us to go ahead. What comes back arrives on new media, with the return journey at our cost, and the case stays open at this end until you have opened every file yourself.

You approve the list firstReturned on fresh mediaThe return post is ours

What tends to show up first

  • Suspect is not a diagnosis of loss — the flag records a log the engine would not finish replaying, and declining to guess is the behaviour you want. Behind it the tables are normally intact.
  • An error number is an address — 823, 824 and 5171 each point at a different structure inside the file. Read the code out on the phone and diagnosis can start before the parcel is packed.
  • A torn page is really a disk report — when a database starts failing its own checksums, that is often the earliest notice that the media underneath is deteriorating.
  • Include the backups — a stale copy nobody trusted has rescued more than one job on this bench, and a sound one has very nearly been overwritten in the hurry to restore. Send the lot.

Two different finish lines: a file recovery ends when the bytes are readable again. A database recovery ends only when the engine will attach the file, mount the store and answer queries without complaint. The distance between those two points is consistency, and it explains why so-called ‘recovered’ MDF files reach this bench still refusing to attach.

From the casebook, lately.

MH · MHD-2026-6851ON RECORD ✓

8:55am at a Beaconsfield practice: the SQL database flagged Suspect

An emergency repair was already queued when the practice rang, the overnight power cut having left the database marked Suspect. Forensic copies were taken first, and they showed the transaction log would still replay. Attaching on that copy worked at the first attempt, which left the morning's bookings twenty minutes behind rather than a week.

Reattached with no loss24 hours spent at the bench

Before the database files come to the lab.

Do these now

  • Shut the database down, then copy the MDF, LDF and logs
  • Note the exact error text, numbers and all
  • Keep every backup you have, however old
  • Tell us what application runs on top of it

Things best not done

  • Turn to REPAIR_ALLOW_DATA_LOSS early
  • Point a hard repair at the mail store and hope
  • Cycle it offline and online again
  • Lay a stale backup on top of what is damaged

The questions that arise most often.

SQL Server has put my database in Suspect. What comes first?

Take the database offline, then set aside protected copies of the MDF and its log before any command is run against it. Suspect is only the engine reporting that it could not finish replaying the log after an unclean stop, and that is generally recoverable. What destroys databases is a well-intentioned repair applied to the original files.

Can a database be recovered without its transaction log?

In most cases, yes. The tables, indexes and pages live in the data file itself, so an MDF can usually be brought to a state the engine will attach even where no log survives. The exception is a transaction still open when the server stopped, which may return half-written; we mark exactly where that boundary fell.

The EDB says Dirty Shutdown. Has the mail gone?

Seldom. Dirty Shutdown records nothing worse than logs the store has yet to commit. Reading the header changes nothing and shows which generations are outstanding, after which soft recovery brings them in. Mailboxes normally survive; what loses them is reaching for a hard repair.

We repair it and the corruption comes back. Why?

Because the fault is seldom in the database at all; it is in the disks holding it. Damage that reappears after every repair almost always comes from a drive on its way out, an array still running a member short, or a failing controller cache writing fresh errors into each mended copy. A good number of database jobs are really server recoveries, and both are handled here.

Switched off, it keeps every chance it has.

Each further power-up asks more of a drive that has already begun to fail. Open the case first and let the free diagnosis tell you what is left.

0800 6890668