以下命令
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。它没有加密。它是否是从2012创建的,这是值得怀疑的,因为旧系统已经有几年的历史了。该导入是使用Server 2008 R2在Vista计算机上的临时安装进行的。
目标是将数据输入到不同的数据库(例如,使用ODBC),或者进入普通的数据类型(.csv、.sql、.xml等),以便为其创建一个导入程序。
您是否建议使用TSQL以外的其他方法来执行此导入?
您对错误消息有其他解释吗?我不想猜测是否应该再次尝试更新或旧版本的Server版本,因为每次重新安装都需要大量时间,这是一个有限的资源。
发布于 2012-07-25 21:30:44
如果这不是版本错配,则备份文件可能实际上已损坏。
如果是这样的话,您将无法(至少很容易)从它恢复任何东西。
发布于 2012-07-25 21:41:12
您确定备份由一个文件组成吗?
如果在源服务器上有备份所来自的空闲空间(假设备份仍然可操作),则可以尝试将备份还原到新数据库,以确认备份是否良好。
发布于 2012-07-26 03:42:49
要么文件的头已损坏,要么这是备份集中的一个文件,备份将在多个文件上传播。
您需要获得数据库的新备份,或者需要从备份集中获取其他文件。
https://serverfault.com/questions/411250
复制相似问题