我们在 MS SQL 中有一个大型数据库,其中一个表按日期列分区。主键索引也使用相同的分区函数进行分区。数据库保持在简单恢复模式,因为数据每 3 个月分批添加到其中。
DBCC checkfilegroup 发现一致性错误,因此我们只需从完整备份中恢复一个文件组。
还原不允许我在简单模式下运行文件组的还原,所以我更改为完全恢复模式,然后运行以下命令,没有错误。
restore database aricases filegroup='2003' from disk=N'backupfile-name.bak' with recovery
我希望“恢复”条款能够让这一切恢复正常,但这个过程以一张纸条结束
前滚起点现在位于日志序列号 (LSN) 511972000001350200037。需要额外前滚超过 LSN 549061000001370900001 才能完成恢复序列。
当我查询包含此文件组的数据库表时,我收到一条消息,指出无法访问主键,因为无法访问该表的其中一个分区,因为它处于脱机、恢复或失效状态。
为什么“with recovery”子句没有让这个文件组完全恢复。怎么办?整个数据库非常大(1.5TB)。我无法备份日志文件,因为我首先需要在完整模型模式下创建备份。文件组本身只有 300GB。
我可以再次进行恢复——但想知道执行此操作的正确方法。有没有办法保持完全恢复模式并从完整的数据库备份执行零碎的文件组备份?