SQL Server 错误“缺少系列序列号 2”

E.R*_*nim 13 sql-server ssms sql-server-2008-r2 restore

我正在尝试在我的服务器上恢复本地数据库,但我遇到了备份问题。我做了一个.bak文件,但每次我尝试将它加载到服务器上时,它都不允许我这样做。

这是我收到的错误消息的屏幕截图:

在此处输入图片说明

我读到我可以RESTORE LABELONLY用来恢复我的文件,但仍然无法正常工作,每次运行它时,我都会得到如下信息:

无法打开备份设备“C:\Program Files\Microsoft SQL Server\MSSQL10_50.JOSEMA\MSSQL\Backu\INNOVA-T.bak”。操作系统错误 3(无法检索此错误的文本。原因:15105)。消息 3013,级别 16,状态 1,第 1 行 RESTORE LABELONLY 异常终止

任何帮助都会很棒。谢谢你。

RDF*_*ozz 18

该错误表明您的.bak文件只是备份的一部分。当备份被写入时,它被写入三个文件。如果您可以将备份写入多个驱动器上的多个文件,它通常会更快地完成。

根据这个 StackOverflow Q & ARESTORE LABELONLY应该可以帮助您确认备份跨越多个文件,但它不会让您实际恢复备份 - 为此您需要所有三个文件。

如果您可以找到所有三个文件(并确定它们来自备份的同一运行),您应该能够恢复备份 - 您需要在RESTORE命令中指定所有三个文件(或通过 SSMS restore对话)。

如果您不能,但您仍然可以访问原始服务器,那么您可以进行新的备份。

注意:如果原始服务器有 DBA,请与他合作。您希望确保备份不会导致任何复制、日志传送或恢复到某个时间点的能力出现问题。

如果您实际上是 DBA,那么:

  • 进入 SQL Server Management Studio (SSMS),连接到服务器,并展开数据库。
  • 右键单击原始数据库,然后选择“任务”->“备份...”将打开一个对话窗口。
  • 在对话框的第一页上:

    • 确保选择要备份的数据库作为源数据库。
    • 确保备份类型为“完整”。
    • 检查“只复制备份”。
    • 确保备份组件设置为“数据库”
    • 在窗口底部:如果“目的地”列表中有任何现有条目,请将其删除。
    • 单击“添加”以添加新的备份文件。确保您知道文件的位置(通常,您只能选择使用此接口写入数据库服务器的本地磁盘;如果您需要写入共享服务器上的文件夹,您可以尝试粘贴共享服务器的完整 UNC 路径并在文件选择对话框中输入新文件名。如果这不起作用,请指定本地驱动器和唯一文件名)。此外,请确保文件名是唯一的 - 您不想覆盖服务器上的任何现有文件。
    • 当您返回到原始备份对话框窗口时,切换到“选项”页面(窗口左侧)。
    • 在“覆盖媒体”下,选择“备份到新媒体集,并擦除所有现有备份集”。
      • 是的,这听起来很可怕——但是,这主要用于重新初始化备份磁带,以便删除所有旧数据;只要您写入新文件名,一切都应该没问题。
      • 为媒体集输入一个新的 - 类似于“ - 一次备份”就足够了。
    • 您可以在“可靠性”下设置一些选项;我只想把它们都关掉。
    • 您也可以接受“设置备份压缩”的默认设置;我可能会将山雀设置为“压缩备份”,但这并不重要。(如果您没有运行 SQL Server 2008 或更高版本,那么它要么根本不存在,要么不相关)。
    • 不要单击“确定”,而是单击对话框窗口顶部“脚本”旁边的小箭头,然后选择“新建查询窗口的脚本操作”。看到脚本后,单击“取消”。
  • 仔细检查脚本 - 其中应该只包含一个文件。
  • 如果要将文件写入其他位置,可以在脚本中更改文件路径。同样,服务器需要能够访问您指定的位置,因此用于运行 SQL Server 服务(和/或 SQL Server 代理服务)的帐户需要有权访问您希望写入文件的路径。
  • 现在,运行脚本。

假设一切顺利,您现在可以使用新的备份文件执行到其他位置的还原。同样,您要恢复到的 SQL Server 将需要有权访问备份文件,因此您可能希望将其复制到该服务器。