程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 詳解SQL Server的差異備份還原

詳解SQL Server的差異備份還原

編輯:關於SqlServer

在SQL Server中還原差異備份,需要先還原在差異備份時間點之前的一個完整備份,在還原完整備份時要加上NORECOVERY參數,示例SQL語句如下:

RESTORE DATABASE [數據庫名稱] 
FROM  DISK = N'完整備份文件路徑'
WITH  FILE = 1,  
NOUNLOAD,  
STATS = 10, 
NORECOVERY
GO

在Management Studio中對應的選項是:

Leave the database non-operational, and do not roll back uncommitted transactions. Additional transaction logs can be restored. (RESTORE WITH NORECOVERY)

如果沒有加上NORECOVERY參數,默認是RECOVERY,則:

在SQL Server 2012 Management Studio中通過窗口操作會出現錯誤提示:Unable to create restore plan due to break in the LSN chain.

在SQL Server 2008/2012 Management Studio中執行SQL語句會出現錯誤提示:The log or differential backup cannot be restored because no files are ready to rollforward.

(抱怨:提示信息容易誤導人)

查看本欄目

還原差異備份時,如果只有一個差異備份文件需要還原,無需使用NORECOVERY參數,示例SQL語句如下:

RESTORE DATABASE [數據庫名稱] 
FROM  DISK = N'差異備份文件路徑'
WITH  FILE = 1,  
NOUNLOAD,  
STATS = 10
GO

如果有多個差異備份文件需要還原,除了最後一個差異備份文件,其他都需要加上NORECOVERY參數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved