2010-06-14 815 views
30

我已經在服務器上備份了SQL Server 2008數據庫,並將它們下載到本地環境。還原數據庫 - 錯誤RESTORE HEADERONLY異常終止。

我正試圖恢復該數據庫,它一直在給我下面的錯誤。


An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------ ADDITIONAL INFORMATION:

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

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4053&EvtSrc=MSSQLServer&EvtID=3241&LinkId=20476

我試圖創建服務器的臨時數據庫,並試圖還原相同的備份文件和工作。我也沒有嘗試過。時間從Filezila(自動,二進制)使用不同的選項從服務器下載文件到本地電腦

但它不工作。之後,我嘗試在服務器上執行以下命令。

BACKUP DATABASE go4sharepoint_1384_8481 
TO DISK=' C:\HostingSpaces\dbname_jun14_2010_new.bak' with FORMAT 

它給我以下錯誤:

  1. http://support.microsoft.com/kb/290787
  2. http://social.msdn.microsoft.com/Forums/en-US/sqlsetupandupgrade/thread/4d5836f6-be65-47a1-ad5d-c81caaf1044f

Msg 3201, Level 16, State 1, Line 1 Cannot open backup device 'c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup\ C:\HostingSpaces\dbname_jun14_2010_new.bak'. Operating system error 123(The filename, directory name, or volume label syntax is incorrect.). Msg 3013, Level 16, State 1, Line 1 BACKUP DATABASE is terminating abnormally.

研究我發現下面的2個有用的鏈接後

但我仍然無法正確恢復數據庫。

任何幫助將不勝感激。謝謝。

+3

停止詢問同一個問題http://stackoverflow.com/users/179123/jordon – gbn 2010-06-14 17:51:53

回答

23

之間沒有空格你可以看看這篇博客。它解決了我的問題。

http://dotnetguts.blogspot.com/2010/06/restore-failed-for-server-restore.html

Select @@Version
It had given me following output Microsoft SQL Server 2005 - 9.00.4053.00 (Intel X86) May 26 2009 14:24:20 Copyright (c) 1988-2005 Microsoft Corporation Express Edition on Windows NT 6.0 (Build 6002: Service Pack 2)

您將需要重新安裝到一個新的命名實例,以確保您使用的是新的SQL Server版本。

+2

賓果,我有4個實例,2005和2008的組合,並且正在使用2008備份試圖恢復到2005年。Doh!現在明顯。 – 2011-08-16 20:22:50

+1

您無法從SQL 2008中恢復從SQL 2012中獲取的備份。 – Yeonho 2012-12-27 02:04:42

+0

拯救我的一天! – sdespont 2013-03-13 14:02:00

0

我的猜測是,你正試圖在較低的版本,以恢復它不會工作

+0

不是我使用SQL Server 2008 – 2010-06-14 16:39:52

0

我覺得你有2個獨立的問題,1.恢復和2.創建

對於1,你可以嘗試檢查文件是否正確傳輸(一種簡單的方法是檢查服務器上文件的md5,然後再檢查本地環境中的文件是否匹配)。

0
Cannot open backup device 'c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup\ C:\HostingSpaces\dbname_jun14_2010_new.bak' 

錯誤是不言自明的。文件C:\program files\...\Backup \c:\Hosting...\格式不正確。如果您檢查文件名,這很明顯。也許在備份聲明中省略額外的空間?

BACKUP DATABASE go4sharepoint_1384_8481 
TO DISK='C:\HostingSpaces\dbname_jun14_2010_new.bak' with FORMAT 

'C:

6

當您嘗試將備份數據從較高版本上傳到較低版本時,會出現此類錯誤。就像你有SQL Server 2008的備份並且你試圖將數據上傳到SQL Server 2005那樣你會得到這種錯誤或者有時備份被損壞。該文件使用FTP以文本模式而不是二進制模式傳輸。請嘗試上傳更高版本。欲瞭解更多信息,請看這裏:http://dbathings.com/troubleshoot-microsoft-sql-server-error-code-3241/

0

我有一個類似的問題,但我試圖從較低版本恢復到更高版本(正確)。然而問題是權利不足。當我使用「Windows身份驗證」登錄時,我能夠恢復數據庫。

2

此錯誤可能是由文件的權限引起的,您應該檢查該文件,但是最近我注意到,如果文件已被傳輸並且Windows將文件標記爲「加密內容以保護數據」 。

您可以通過調出.bak文件屬性並單擊高級按鈕來找到它,它將顯示爲對話框上的最後一個複選框。

希望能幫助別人!

+0

我已經複製了一些其他磁盤的bak文件。所以,我必須將權限更改爲777.我不知道如何在Windows上執行此操作。所以,用我的cygwin shell來做到這一點! – syam 2014-05-16 14:38:03

1

我遇到了這個問題,我的問題多了一點點...... 最初我試圖將SQL Server 2000備份還原到SQL Server 2012.當然,這並不起作用,因爲SQL Server 2012只支持從2005年開始備份。

因此,我在SQL Server 2008機器上恢復了數據庫。一旦這樣做是 - 我在數據庫複製到SQL Server 2012上還原 - 它與下面的錯誤

媒體家族在設備「C:\ XXXXXXXXXXX.bak」失敗的格式不正確。 SQL Server無法處理此媒體系列。 RESTORE HEADERONLY異常終止。 (Microsoft SQL Server,錯誤:3241)

經過大量研究,我發現我跳過了一步 - 我不得不返回到SQL Server 2008計算機並右鍵單擊數據庫(我想要備份)>屬性>選項>確保兼容級別設置到SQL Server 2008>保存

,然後重新創建備份 - 在此之後,我能夠恢復到SQL Server 2012的

0

在我的案例,備份文件被壓縮,但文件擴展名沒有指出這一點,沒有以.zip,.tgz等結尾。一旦我解壓縮了我的備份文件,我就可以導入它。

相關問題