分享方式:


在不還原資料的情況下復原資料庫 (Transact-SQL)

適用於:SQL Server

通常會先還原 SQL Server 資料庫中的所有資料,再復原資料庫。 不過,還原作業可以復原資料庫,而不實際還原備份;例如,復原與資料庫一致的唯讀檔案時即是如此。 這稱為「僅復原的還原」。 如果離線資料已與資料庫一致,而且只需要回復為可用狀態,僅復原的還原作業就會完成資料庫的復原,並讓資料回到線上。

整個資料庫或一個或多個檔案或檔案群組,都可能發生僅復原的還原。

僅復原的資料庫還原

僅復原的資料庫還原在下列情況中會很有用:

  • 還原還原順序中最後一個備份時,您未復原資料庫,但是現在想要復原資料庫以使其回到線上。

  • 資料庫處於待命模式,而您想在不套用其他記錄備份的情況下使資料庫成為可更新的。

用於僅復原的資料庫還原的 RESTORE 語法如下:

RESTORE DATABASE *database_name* WITH RECOVERY

注意

FROM =<backup_device> 子句未使用於僅復原的還原,因為沒有備份的必要。

範例

下列範例會在還原作業中復原 AdventureWorks2022 範例資料庫,而不還原資料。

-- Restore database using WITH RECOVERY.  
RESTORE DATABASE AdventureWorks2022  
   WITH RECOVERY  

僅復原的檔案還原

僅復原的檔案還原在下列情況中會很有用:

分次還原資料庫。 主要檔案群組的還原完成之後,未還原的檔案中有一或多個檔案與新的資料庫狀態一致,或許是因為它已經有好一段時間是唯讀的。 這些檔案只需復原即可;不需要資料複製。

僅復原的還原作業會讓離線檔案群組中的資料回到線上;不會產生資料複製、重做或恢復階段。 如需還原階段的相關資訊,請參閱還原和復原概觀 (SQL Server)

用於僅復原之檔案還原的 RESTORE 語法為:

RESTORE DATABASE *database_name* { FILE **=**_logical_file_name_ | FILEGROUP **=**_logical_filegroup_name_ }[ **,**...*n* ] WITH RECOVERY

範例

下列範例說明如何針對 SalesGroup2資料庫中次要檔案群組 Sales 的檔案進行僅復原的檔案還原。 主要檔案群組已經在分次還原的初始步驟中還原,而且 SalesGroup2 與還原的主要檔案群組一致。 將此檔案群組復原並使其上線,只需要一個陳述式。

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;  

透過僅復原的還原完成分次還原狀況的範例

簡單復原模式

完整復原模式

另請參閱

線上還原 (SQL Server)
分次還原 (SQL Server)
檔案還原 (簡單復原模式)
檔案還原 (完整復原模式)
RESTORE (Transact-SQL)
還原和復原概觀 (SQL Server)