Sql-Server
從此 MS SQL bak 文件中獲取數據
以下命令
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 創建的,因為舊系統已經使用了幾年。嘗試使用臨時安裝到裝有 SQL Server 2008 R2 的 Vista 電腦上進行導入。目標是將數據導入不同的數據庫(例如,使用 ODBC),或者導入我們可以為其創建導入程序的普通數據類型(
.csv
、.sql
、等)。.xml
您是否建議使用除 TSQL 之外的其他方法來執行此導入?
您對錯誤消息有其他解釋嗎?我不傾向於猜測是否應該在較新或較舊的 SQL Server 版本上再試一次,因為每次重新安裝都需要大量時間,這是一種有限的資源。
如果這不是版本不匹配,則備份文件實際上可能已損壞。
如果是這種情況,您將無法(至少很容易)從中恢復任何東西。
您確定備份包含一個文件嗎?
如果您在備份來源的源伺服器上有可用空間(假設它仍然可以執行),您可以嘗試將備份還原到新數據庫以確認備份是好的