我已经在服务器上备份了SQL Server 2008 DB,并将它们下载到本地环境。
我正在尝试恢复该数据库并继续向我发出以下错误。
执行时发生异常 Transact-SQL语句或批处理。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------附加信息:
设备上的媒体系列 'C:\ go4sharepoint_1384_8481.bak'是 形成错误。 SQL Server不能 处理这个媒体家庭。恢复 HEADERONLY异常终止。 (Microsoft SQL Server,错误:3241)
我曾尝试在服务器上创建一个临时数据库,并尝试恢复相同的备份文件,并且可以正常运行。我也试过没有。使用Filezila(自动,二进制)上的不同选项将文件从服务器下载到本地PC的时间
但它不起作用。之后我尝试在服务器上执行以下命令。
BACKUP DATABASE go4sharepoint_1384_8481
TO DISK=' C:\HostingSpaces\dbname_jun14_2010_new.bak' with FORMAT
它给了我以下错误:
消息3201,级别16,状态1,行1无法打开备份设备 'c:\ Program Files \ Microsoft SQL 服务器\ MSSQL10.SQLEXPRESS \ MSSQL \备份\ C:\ HostingSpaces \ dbname_jun14_2010_new.bak”。操作系统错误 123(文件名,目录名或卷标语法是 不正确)。 Msg 3013,Level 16,State 1,Line 1 BACKUP DATABASE是 异常终止。
经过研究,我发现了以下两个有用的链接:
答案 0 :(得分:25)
您可以查看此博文。它解决了我的问题。
http://dotnetguts.blogspot.com/2010/06/restore-failed-for-server-restore.html
选择@@版本
它给了我以下输出Microsoft SQL Server 2005 - 9.00.4053.00(英特尔X86)2009年5月26日14:24:20版权所有(c) 1988-2005 Microsoft Corporation在Windows NT 6.0上的Express Edition (Build 6002:Service Pack 2)
您需要重新安装到新的命名实例,以确保使用新的SQL Server版本。
答案 1 :(得分:7)
当您尝试将备份数据从较高版本上载到较低版本时,会出现此类错误。就像你有SQL Server 2008的备份,并且你试图将数据上传到SQL Server 2005然后你会遇到这种错误。请尝试上传更高版本。
答案 2 :(得分:2)
此错误可能是由您应该检查的文件权限引起的,但是最近我注意到如果文件已经传输并且Windows已将文件标记为“加密内容以保护数据”,则会引发相同的错误。
您可以通过调出.bak文件属性并单击高级按钮找到它,它将显示为对话框中的最后一个复选框。
希望能帮助别人!
答案 3 :(得分:2)
我遇到了这个问题,我的问题涉及到更多...... 最初我试图将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。
答案 4 :(得分:0)
我的猜测是你试图在较低版本中恢复无法正常工作
答案 5 :(得分:0)
我认为你有2个不同的问题,1。恢复和2.创建
对于1.您可以尝试检查文件是否已正确传输(一种简单的方法是检查服务器上文件的md5,然后再检查本地环境以查看它们是否匹配)。
答案 6 :(得分: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:
之间没有空格
答案 7 :(得分:0)
我有类似的问题,但我试图从较低版本恢复到更高版本(正确)。但问题是权利不足。当我使用“Windows身份验证”登录时,我能够恢复数据库。
答案 8 :(得分:0)
在我的情况下,备份文件已被压缩,但文件扩展名没有表明这一点,没有以.zip,.tgz等结尾。一旦我解压缩我的备份文件,我就可以导入它了。