Sql-server – SQL Server 2014 .bak file error – The media family on device ‘D:\..’ is incorrectly formed

sql serversql-server-2008sql-server-2012

Worst case scenario – the server crashed and the 2014 SQL Server .bak file had to be recovered from the failed disk. The .bak file I have is over 20gb in size but is unusable when trying to restore from it. I built a new server and it is running SQL Server 2014 developer, just like the old server (the new server backs up all the database to the cloud, local drives, virtual drives, and network drives. I also have a script on a cron job to verify all the backup media files daily now as well).

I was able to restore some of the data but now my customer is asking us for a certain date range that I can't provide.

I have been reading a lot about this and everything indicates that it is a SQL Server version related issue however I think it has something to do with how the .bak file was recovered (maybe ASCII vs Binary file format?).

I know the data is there or the file wouldn't be over 20gb, I just need to get SQL to recognize it as valid backup media.

Any suggestions is greatly appreciated!

RESTORE HEADERONLY 
FROM DISK = 'D:\!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak'
GO

RESTORE VERIFYONLY 
FROM DISK = 'D:\!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak'
GO

Here is the error I receive:

Msg 3241, Level 16, State 0, Line 1
The media family on device 'D:!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak' is incorrectly formed. SQL Server cannot process this media family.
Msg 3013, Level 16, State 1, Line 1
RESTORE HEADERONLY is terminating abnormally.
Msg 3241, Level 16, State 0, Line 5
The media family on device 'D:!Recovered Drives From Old Server\ONTMaster Recovery File\ONTMaster.bak' is incorrectly formed. SQL Server cannot process this media family.
Msg 3013, Level 16, State 1, Line 5
VERIFY DATABASE is terminating abnormally.

Best Answer

There can be several causes for this error:

  1. The backup is corrupted as it has not been transferred in binary mode If you are using FTP to transfer the backup, make sure the file is transferred in binary mode
  2. The version of your backup is different than the SQL Server instance you are trying to restore it to. You can try to restore to a SQL server instance with the right version and transfer the data with SSIS
  3. The backup is corrupt. In this case your options are limited