繁体   English   中英

从 .bak 文件恢复 SQL DB 时,所有表都丢失

[英]When restoring SQL DB from .bak file all tables are missing

我从客户那里收到了一个 .bak 文件,我已经努力了 2 天试图让它工作。 在 SQL Server 2012 中将文件还原到新数据库时,还原成功,但还原的数据库中没有表。 我已经尝试了几乎所有我可以在网上找到的不同的东西,我真的认为备份可能没有正确执行(我不期待带着这些信息回到客户那里)。

我欣赏任何和所有的想法。 谢谢

你需要回到客户那里告诉他们他们给了你错误的备份,因为它是空的。

如果可以成功恢复备份,并且其中没有表,那么备份时也没有表。 备份不可能“没有正确执行”并且仍然成功(并生成可恢复的备份),并在这种情况下结束。 除非他们备份了错误的数据库或为您提供了错误的 .bak 文件。

可能客户唯一会生气的是你等了两天才告诉他们。

我有同样的问题。 我是先创建数据库,然后右键单击它并选择恢复。 这导致没有表。 相反,我右键单击“数据库”并从那里选择恢复。 现在我可以看到所有表。

听起来客户在发送之前备份了一个空白数据库。 我恢复了大量客户提供的备份,我对发现的内容从不感到惊讶。 回到客户端,请求一个新的完整数据库备份,然后再试一次。

冒着“我也是”回答的风险,听起来好像是谁给了你那个备份给了你错误的东西。 但是您可以通过restore headeronly from disk = 'path_to_backup'执行restore headeronly from disk = 'path_to_backup'来确认,它应该告诉您各种有用的信息,包括:

  • 服务器名称
  • 数据库名称
  • 备份日期

我今天遇到了同样的问题。 结果我复制了系统数据库的 .bak 文件,而不是主数据库的文件。 今晚我要去参加一个节日,在云中前进。

如果您遇到同样的问题,请仔细检查您的文件。 我的来自同一个目录,同一个日期戳和一个乱码,所以很容易犯……我喜欢这样想。

我遇到了同样的问题——没有恢复任何表。 我所做的是我刚刚创建了一个新数据库并恢复到新数据库。 一切都按预期进行。

备份时使用此备份脚本

备份数据库 [数据库名称]

TO DISK = N'C:\\yourpath\\filename.bak'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM