设想。
- 我有一个文件组,我们需要恢复它以取回在上次备份后从数据库中删除的数据,我无法触摸
- 生产系统,因为它们正在运行
- 主文件组的大小刚刚超过 1TB(不要怪我没有这样做,这让我想哭)
- 我没有足够大的空间来恢复那个主文件组
- 我希望恢复的文件组大小只有 60 GB
- 我只需要文件组中一个表中的数据
- 该系统都位于远程位置,因此无法从那里删除备份并可能加载到其他地方
- 我有一个数据库的测试“副本”,但它是通过脚本生成的,大小是主数据库的 1/1000,但包含所有与主数据库相同的表等,只是没有数据内容
- 我只需要从完整备份中恢复
代码示例
RESTORE DATABASE testEnvironment
filegroup = 'requiredFileGroup'
from disk =
N'\\remotestorage\backupfile.bak'
with REPLACE,
move
N'requiredFileGroup_file1' to N'F:\requiredFileGroup_file1.ndf',
move
N'requiredFileGroup_file2' to N'F:\requiredFileGroup_file2.ndf',
stats = 1
问题
- 尝试恢复时出现错误 3154
- 备份集保存现有“testEnvironment”数据库以外的数据库的备份。
- 尝试恢复到新文件位置或覆盖测试环境中当前存在的文件时会发生这种情况
- 如前所述,主文件组太大,无法在任何地方恢复
任何关于解决此问题的想法将不胜感激
Ste
好吧,遗憾的是,如果主文件组不先联机,您就无法进行零碎的恢复并使辅助文件组联机。如果有
hack
办法解决这个问题,我不知道。如果您的主文件组是 1TB 而您没有使用它,为什么不一次性缩小到更易于管理的大小呢?这在大量数据可能已被清除并且您想要回收空间的生产环境中并不罕见。同样,如果您没有能力测试您的备份,您的情况就更糟了。