還原順序的進階考量
更新: 2005 年 12 月 5 日
此章節中的主題針對還原順序說明下列考量:
- 啟動向前復原之後,變更向前復原集
- 略過唯讀檔案資料的向前復原
- 使用相同資料的多個完整備份
- 在單一資料庫中執行並行備份和還原
此外,本節還包含幾個進階主題。
啟動向前復原之後,變更向前復原集
向前復原集的檔案或分頁不得移除,但可以新增。新增檔案很有用;例如,如果您在開始進行部分還原順序之後才發現您想加入其他檔案,這項功能就可以派上用場。
若要新增檔案或分頁,可能必須重複部分的向前復原。不過,與資料庫一致的唯讀檔案,則可加入向前復原集而不需重複任何向前復原;如需詳細資訊,請參閱<控制向前復原期間加入檔案的建立>。
新增分頁會受到在本主題稍後「相同資料的多個副本」中所描述的限制。
略過唯讀檔案資料的向前復原
附註: |
---|
如需發生向前復原之重做階段的介紹,請參閱<瞭解在 SQL Server 中還原和復原備份的運作方式>。 |
當您將唯讀檔案還原到自從建立備份之前以來都是唯讀的檔案群組時,因為檔案與資料庫的其餘部分是一致的,所以會略過重做階段。從備份中還原此類唯讀檔案之後 (在還原的資料複製階段),SQL Server Database Engine 會立即復原這些檔案。接著,它會繼續重做階段以向前復原向前復原集的其餘部分 (若還有的話)。
若檔案群組是在最近一次完整備份之後和一次差異備份之前變成唯讀,且該群組迄今仍為唯讀,則向前復原會進行至差異備份建立的時間點上。在完整復原模式下,若檔案群組是在最近一次完整備份與最近一次差異備份 (若有的話) 之後才變成唯讀,則可以使用記錄備份,將檔案中的資料向前復原至檔案群組變成唯讀的時間點上。
使用相同資料的多個資料備份
因為可以發出多個還原陳述式,您可以將資料從不同的完整備份複製到相同的位置中。例如,某個 RESTORE 陳述式複製了資料庫中所有的檔案。而在還原順序的下一個陳述式中,覆寫了其中一個檔案。通常這是被允許的,而且會使用最近一次還原的資料。
但是在進行分頁還原時,必須遵守某些特殊規則。在完成整個檔案還原後就不可複製分頁到檔案中;若試圖這麼做,將導致錯誤。還原順序會繼續進行,但該分頁將不會還原。
在單一資料庫中執行並行備份和還原
在某些情況下,可以同時執行影響相同資料庫的 BACKUP 和 RESTORE 陳述式。當作業因某個作業已在執行中而未獲允許時,Database Engine 會發出錯誤。
下表將說明並行陳述式的各項可能組合,是否被允許。
正在進行的陳述式 | BACKUP DATABASE | BACKUP LOG | 離線 RESTORE | 線上 RESTORE |
---|---|---|---|---|
BACKUP DATABASE |
錯誤 |
允許 |
錯誤 |
錯誤 |
BACKUP LOG |
允許 |
錯誤 |
錯誤 |
錯誤 |
離線 RESTORE |
錯誤 |
錯誤 |
錯誤 |
錯誤 |
線上 RESTORE |
錯誤 |
允許 |
錯誤 |
錯誤 |
本章節內容
主題
描述
討論當使用還原來修復已知與隔離的問題時,如何透過僅還原發生問題的檔案,來達到最好的還原效能。
討論還原作業如何處理已變更的名稱,以及重複使用的檔案或檔案群組名稱。
討論用來防止資料庫意外遭到其他資料庫覆寫的保護機制,應如何加以覆寫。
注意:
您必須經過仔細考量,才能使用 REPLACE 選項。
請參閱
概念
其他資源
RESTORE (Transact-SQL)
使用 SQL Server 資料庫的還原順序