2014-09-22 41 views
0

我们在MS SQL中有一个大型数据库,其中一个表由一个日期列进行分区。主键索引也使用相同的分区功能进行分区。数据库保存在Simple Recovery模型中,因为数据每3个月分批添加一次。SQL Server - 在简单恢复模式下从完整备份中零散地恢复文件组

DBCC校验文件组发现一致性错误,所以我们需要从完整备份中恢复一个文件组。

还原不允许我在简单模式下运行文件组的还原,因此我将其更改为完全恢复模式,然后运行以下命令,无任何错误。

恢复数据库aricases文件组=“2003”从磁盘 = N'backupfile-name.bak” 与恢复

我所期望的‘以恢复’条款将这一回工作秩序,但过程以一个说明结尾

前滚起点现在处于日志序号(LSN)511972000001350200037.需要额外前滚LSN 549061000001370900001才能完成恢复序列。

当我查询包含此文件组的数据库表时,我收到一条消息,指出无法访问主键,因为该表的某个分区无法访问,因为它处于脱机状态,正在还原或已停用。

为什么没有“带恢复”条款将此文件组完全恢复。怎么办?整个数据库非常大(1.5TB)。我无法备份日志文件,因为我首先需要在完整模型模式下创建备份。文件组本身只有300GB。

我可以再次执行恢复 - 但想知道执行此操作的正确方法。 有没有办法保持完整的恢复模式,并从完整的数据库备份执行零散的文件组备份?

回答

1

我找到了答案。底线是简单恢复模式非常有限。您必须从同一个备份中还原所有读/写文件组。只读文件组可以单独恢复,只要它们在读/写文件组的最后一次备份之前变为只读(不再有更改)即可。

底线 - 只有完整或批量记录模型才能恢复单个读/写文件组。批量记录模型是批量加载的数据仓库应该使用的模型,而不是简单模型。我的设计错误。

看到来自微软

http://msdn.microsoft.com/en-us/library/ms191253.aspx

再看看零碎还原为简单模型 http://msdn.microsoft.com/en-us/library/ms190984%28v=sql.100%29.aspx 非常有限