2011-06-11 174 views
1

我想使用Management Studio GUI還原數據庫,並且出現以下錯誤。在SQL Server 2008上還原數據庫

The media family on device 'F:\xxx.bak' is incorrectly formed. SQL Server cannot process this media family. RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Error: 3241)

我敢肯定這BAK文件已被使用之前恢復數據庫,但使用了RESTORE命令。 Iv看着docs但我覺得他們有點簡潔。

任何人都可以提出什麼樣的SQL可能看起來像我成功地恢復這個數據庫?

+0

這可能是文件損壞的情況。 – 2011-06-11 09:48:40

回答

1
  • 您可以腳本SSMS任務,只需點擊「OK」之前
  • RESTORE的文檔是在這裏,但基本的想法是RESTORE DATABASE MyDB FROM DISK = 'F:\xxx.bak'

但是,此錯誤意味着文件是損壞的或不完整的。它可能會作爲FTP或複製過程的一部分而被破壞。

一個隨機想法:SQL Server帳戶是否有權訪問您的F:驅動器? (即使您可以在Windows資源管理器中看不到該錯誤,我也不記得該錯誤)

1

與gbn一樣,錯誤消息可能意味着SQL Server看到的BAK文件已損壞。它可能被網絡損壞,或者存儲BAK文件的磁盤或磁盤控制器可能已經損壞。

下面是一個例子restore命令:

restore database [DatabaseName] 
from disk = N'c:\Restore\RestoreName.bak' 
with file = 1, 
    move N'DatabaseName_Data' to N'd:\mssql\data\DatabaseName_Data.MDF', 
    move N'DatabaseName_Log' to N'd:\mssql\data\DatabaseName_Log.LDF', 
    replace 
1

很肯定你的備份已損壞,但測試它,我建議您使用以下命令:

RESTORE VERIFYONLY 
FROM DISK = 'F:\xxx.bak' 

這樣,如果備份文件存在問題,則可以捕獲它們,而不會在此過程中損壞數據庫。但是,請注意,VERIFYONLY不會捕獲所有問題,並且如果未使用CHECKSUM運算符執行備份,則只會對備份文件進行標頭檢查。儘管如此,它總比沒有好。

相關問題