Следующие команды
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, потому что каждая повторная установка занимает значительное время, а это ограниченный ресурс.
Если это не несоответствие версий, возможно, файл резервной копии действительно поврежден.
Если это так, вы не сможете (по крайней мере, легко) восстановить что-либо из него.
Вы уверены, что резервная копия состояла из одного файла?
Если у вас есть свободное место на исходном сервере, с которого была создана резервная копия (при условии, что он все еще работает), вы можете попробовать восстановить резервную копию в новую базу данных, чтобы убедиться, что резервная копия в порядке.
Либо заголовок файла поврежден, либо это один из файлов из набора резервных копий, где резервная копия распространяется на несколько файлов.
Вам нужно будет получить новую резервную копию базы данных или вам нужно будет получить другие файлы из набора резервных копий.