程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> MSSQL段落復原劇本,SQLSERVER段落劇本

MSSQL段落復原劇本,SQLSERVER段落劇本

編輯:MSSQL

MSSQL段落復原劇本,SQLSERVER段落劇本。本站提示廣大學習愛好者:(MSSQL段落復原劇本,SQLSERVER段落劇本)文章只能為提供參考,不一定能成為您想要的結果。以下是MSSQL段落復原劇本,SQLSERVER段落劇本正文


段落復原堅持停止檢討,以便確保數據庫在停止時將是分歧的。 在復原次序停止後,假如恢復的文件有用而且與數據庫分歧,則恢復的文件將直接變成聯機狀況。

段落復原實用於一切恢復形式,但在完全恢復形式和年夜容量日記恢復形式下比在簡略恢復形式下更靈巧。

一切的段落復原都從稱為“部門復原次序”的初始復原次序開端。 部門復原次序至多復原和恢復主文件組,在簡略恢復形式下還會復原和恢復一切讀/寫文件組。 在段落復原次序中,全部數據庫都必需脫機。 隨後,數據庫將處於聯機狀況,而且復原的文件組都處於可用狀況。 然則,一切未復原的文件組都將堅持脫機狀況,沒法拜訪。 不外,關於任何脫機文件組,都可以在今後經由過程文件復原停止復原並進入聯機狀況。

不管數據庫采取何種恢復形式,部門復原次序都從 RESTORE DATABASE 語句開端,該語句將復原完全備份並指定 PARTIAL 選項。 PARTIAL 選項老是會啟動一個新的段落復原;是以,在部門復原次序的初始語句中,只能指定 PARTIAL 一次。 當部門復原次序完成而且數據庫聯機後,因為余下文件的恢復被推延,這些文件的狀況將變成“恢復已掛起”。

爾後,段落復原平日包含一個或多個復原次序,這些復原次序稱為“文件組復原次序”。 您可以期待履行特定的文件組復原次序,期待的時光長短由您決議。 每一個文件組復原次序將一個或多個脫機文件組復原並恢復到與數據庫分歧的點。 文件組復原次序的時光支配和數目取決於您的恢復目的、您想要復原的脫機文件組數目和每一個文件組復原次序中復原的脫機文件組的數目。

履行段落復原的准確請求取決於數據庫的恢復形式。

上面我們來看看實例:

--段落復原:數據庫破壞規模比擬年夜,跨多個數據文件乃至跨文件組的時刻,我們不能不恢復全部數據庫。
--這時候假如數據庫特殊年夜,數據庫恢復時光將會很長。但我們可使用SQL Server供給的段落復原,來慢慢恢單數據庫。
--起首備份尾日記:
BACKUP LOG [AdventureWorks] TO DISK =N'D:\BACKUP_TEST\LOG_BACK_TAIL.trn' WITH NO_TRUNCATE ,NORECOVERY,COMPRESSION,STATS=10
--部門復原主文件組PRIMARY:
RESTORE DATABASE [AdventureWorks] FILEGROUP=N'PRIMARY' FROM DISK=N'D:\BACKUP_TEST\AD_FULL.bak' WITH PARTIAL,NORECOVERY,STATS=10
--復原副文件組MST:
RESTORE DATABASE [AdventureWorks] FILEGROUP=N'MST' FROM DISK=N'D:\BACKUP_TEST\AD_FULL.bak' WITH NORECOVERY,STATS=10
--順次復原日記:
RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_1.TRN' WITH NORECOVERY,STATS=10
RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_2.TRN' WITH NORECOVERY,STATS=10
--復原尾日記並恢復
RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_TAIL.TRN' WITH RECOVERY,STATS=10
--此時AdventureWorks數據庫中位於PRIMARY和MST文件組中的文件曾經可以拜訪。
--然則位於其他文件組如:TRN文件組中的表還不克不及拜訪。
--新聞 8653,級別 16,狀況 1,第 2 行
--查詢處置器沒法為表或視圖“****”生成籌劃,由於該表駐留在不處於聯機狀況的文件組中。

--接上去復原副文件組TRN:
RESTORE DATABASE [AdventureWorks] FILEGROUP=N'TRN' FROM DISK=N'D:\BACKUP_TEST\AD_FULL.bak' WITH NORECOVERY,STATS=10
--假如數據庫不是企業版,以上復原將會提醒“還沒有備份數據庫 "AdventureWorks" 的日記尾部。”
--須要再次備份一第二天志尾部,意味著復原副文件組TRN的時刻全部數據庫都處於正在復原狀況。所以關於非企業版而言,只能離線段落復原,小我認為意義不是很年夜......
--順次復原日記:
RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_1.TRN' WITH NORECOVERY,STATS=10
RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_2.TRN' WITH NORECOVERY,STATS=10
--復原尾日記並恢復
RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_TAIL.TRN' WITH RECOVERY,STATS=10
--此時位於副文件組TRN中的表曾經可以拜訪了。
--段落復原全體完成

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