2014-09-22 48 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 非常有限