Database recovery HEEELLLPPP!!!

  • Here is the situation

    MS SQL Server 2005 Express

    3/20/09 Database is created by restoring from a Full Backup from a different database

    3/20/09 Differential backup is taken by a daily scheduled task

    3/21/09 Database accidentally deleted by internal process

    need to restore database

    what i have:

    Full backup (from a different database) used to create db on 3/20/09

    A differential backup of deleted database taken on 3/20/09

    Corrupted mdf recovered by file recovery tool. (i.e. Attach yields not a primary database file and sp_attach_single_file yields invalid header. PageAudit incorrect etc.)

    ldf may or may not be corrupted

    Is all hope lost, or do I have something to work with.

  • If the ldf is not corrupted, and the database was in full recovery - it might be possible to get a tail log backup of the log. Then, you should be able to restore using your full, the differential and the tail log.

    Otherwise, you are looking at restoring the full and the diff and calling it a day.

    Lookup tail log backup in BOL for further information. I don't remember the exact steps to recover the log file but could probably find the steps if needed.

    Jeffrey Williams
    “We are all faced with a series of great opportunities brilliantly disguised as impossible situations.”

    ― Charles R. Swindoll

    How to post questions to get better answers faster
    Managing Transaction Logs

  • I don't understand how you could have taken a differential backup of the database without first taking a full backup. You could try restoring the full backup again then restore the differential backup. If that doesn't work, restore the full backup again and start from over. Hopefully, you didn't make a lot of changes that you'll have to re-do.

    Greg

  • I have three databases in this condition and some are at least a weeks worth of differential, no full backups, except the one from which it was created (which is from another database)

    Basically here is what happens:

    1) An internal application restores a copy of the same database to a new database every time a new "instance" is required

    2) The new "instance" of the database now functions independently, it gets its own full (weren't running for some reason) and diff backups

    3) When an "instance" is no longer needed it is flagged, and then removed (dropped) by the same internal application which created it.

    Unfortunately, these three databases were incorrectly flagged and removed.

    File recovery got the mdf's and ldf's back, they are the correct sizes even. But when we attempt to attach them we get "not a primary database file" and and single file attach "invalid header... PageAduit...incorrect", etc.

    We have only the full from the database from which these instances were created and diff backups since they were created.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply