SQLTeam.com | Weblogs | Forums

Table ‘Filename.dbf’ has become corrupted


Hi all.
When I open .dbf format file in WinDBFview, it pops up with following error, Table ‘Filename.dbf’ has become corrupted.
I have no idea on how to fix it.
Do you have any suggestions on how to fix .dbf file?


SQLTeam.com is a Microsoft SQL Server website. You should search for "DBF corruption" or "DBF fix" to find a better solution for your problem. DBF files would fall under dBase, Clipper or FoxPro forums


Do you have a backup? Your fastest solution would probably be to use that, fixing corrupted files (whether MS SQL or any other database flavour) often results in Data Loss, and in that situation you are almost never able to tell WHICH ROWS have been lost :frowning:

You may be lucky that the corruption is in, say, and Index, rather than part of the file that contains data, and that Index can just be rebuilt ...

If you are going to recover from backup then suggest you take a new, fresh, copy of your corrupted file first. You may find that your backup is also corrupted, so don't overwrite the later, more complete, DBF file with a potentially older, less complete, but also corrupted :frowning: file.

Once you've got past that point FIX THE PROBLEM before carrying on :slight_smile: Whatever corrupted the file is still there - it might be a memory fault, or a disk controller that is faulty ... or maybe some idiot messing with the files ... either way, find and fix that problem, or it will just happen again.

And make sure you have good backups in place. What I know about DBF files is more than 20 years out of date, but in MS SQL we are able to take "log backups", which is basically "all changes since the last backup", and we do that EVERY TWO MINUTES to safeguard us from some sort of interruption. We aren't a big company, but trying to remember what everyone entered into the database more than a couple of minutes ago is nigh on impossible, and even if we could we have better things to do than re-typing it!

Good luck finding a source with an answer to your problem. Come back again when you upgrade the DBase system to MS SQL :toast: