Назад | Перейти на главную страницу

Получение данных из этого bak-файла MS SQL

Следующие команды

restore filelistonly from disk = 'C:\....bak'
restore verifyonly from disk = 'C:\....bak'

произвести эту ошибку

The media family on device 'C:\...bak' is incorrectly formed. SQL Server cannot process this media family.

Эта команда

restore headeronly from disk = 'C:\....bak'

производит

BackupName  BackupDescription   BackupType  ExpirationDate  Compressed  Position    DeviceType  UserName    ServerName  DatabaseName    DatabaseVersion DatabaseCreationDate    BackupSize  FirstLSN    LastLSN CheckpointLSN   DatabaseBackupLSN   BackupStartDate BackupFinishDate    SortOrder   CodePage    UnicodeLocaleId UnicodeComparisonStyle  CompatibilityLevel  SoftwareVendorId    SoftwareVersionMajor    SoftwareVersionMinor    SoftwareVersionBuild    MachineName Flags   BindingID   RecoveryForkID  Collation   FamilyGUID  HasBulkLoggedData   IsSnapshot  IsReadOnly  IsSingleUser    HasBackupChecksums  IsDamaged   BeginsLogChain  HasIncompleteMetaData   IsForceOffline  IsCopyOnly  FirstRecoveryForkID ForkPointLSN    RecoveryModel   DifferentialBaseLSN DifferentialBaseGUID    BackupTypeDescription   BackupSetGUID   CompressedBackupSize
*** INCOMPLETE ***  NULL    NULL    NULL    NULL    1   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL

Я проверил .bak файл действительно поступил с Microsoft SQL Server. Он не зашифрован. Сомнительно, что он был создан на базе Microsoft SQL Server 2012, потому что старой системе было несколько лет. Была предпринята попытка импорта с помощью временной установки на компьютер Vista с SQL Server 2008 R2.

Цель состоит в том, чтобы получить данные либо в другую базу данных (например, с использованием ODBC), либо в простой тип данных (.csv, .sql, .xmlи т. д.), для которых мы можем создать программу импорта.

Предлагаете ли вы другой метод, отличный от TSQL, для выполнения этого импорта?

У вас есть альтернативное объяснение сообщения об ошибке? Я не склонен гадать, следует ли мне попробовать еще раз на более новой или более старой версии SQL Server, потому что каждая повторная установка занимает значительное время, а это ограниченный ресурс.

Если это не несоответствие версий, возможно, файл резервной копии действительно поврежден.

Если это так, вы не сможете (по крайней мере, легко) восстановить что-либо из него.

Вы уверены, что резервная копия состояла из одного файла?

Если у вас есть свободное место на исходном сервере, с которого была создана резервная копия (при условии, что он все еще работает), вы можете попробовать восстановить резервную копию в новую базу данных, чтобы убедиться, что резервная копия в порядке.

Либо заголовок файла поврежден, либо это один из файлов из набора резервных копий, где резервная копия распространяется на несколько файлов.

Вам нужно будет получить новую резервную копию базы данных или вам нужно будет получить другие файлы из набора резервных копий.