MSSQL段落還原腳本,SQLSERVER段落腳本
段落還原保持進(jìn)行檢查,以便確保數(shù)據(jù)庫在結(jié)束時(shí)將是一致的。 在還原順序結(jié)束后,如果恢復(fù)的文件有效并且與數(shù)據(jù)庫一致,則恢復(fù)的文件將直接變?yōu)槁?lián)機(jī)狀態(tài)。
段落還原適用于所有恢復(fù)模式,但在完整恢復(fù)模式和大容量日志恢復(fù)模式下比在簡單恢復(fù)模式下更靈活。
所有的段落還原都從稱為“部分還原順序”的初始還原順序開始。 部分還原順序至少還原和恢復(fù)主文件組,在簡單恢復(fù)模式下還會(huì)還原和恢復(fù)所有讀/寫文件組。 在段落還原順序中,整個(gè)數(shù)據(jù)庫都必須脫機(jī)。 隨后,數(shù)據(jù)庫將處于聯(lián)機(jī)狀態(tài),并且還原的文件組都處于可用狀態(tài)。 但是,所有未還原的文件組都將保持脫機(jī)狀態(tài),無法訪問。 不過,對于任何脫機(jī)文件組,都可以在以后通過文件還原進(jìn)行還原并進(jìn)入聯(lián)機(jī)狀態(tài)。
無論數(shù)據(jù)庫采用何種恢復(fù)模式,部分還原順序都從 RESTORE DATABASE 語句開始,該語句將還原完整備份并指定 PARTIAL 選項(xiàng)。 PARTIAL 選項(xiàng)總是會(huì)啟動(dòng)一個(gè)新的段落還原;因此,在部分還原順序的初始語句中,只能指定 PARTIAL 一次。 當(dāng)部分還原順序完成并且數(shù)據(jù)庫聯(lián)機(jī)后,由于余下文件的恢復(fù)被推遲,這些文件的狀態(tài)將變?yōu)椤盎謴?fù)已掛起”。
此后,段落還原通常包括一個(gè)或多個(gè)還原順序,這些還原順序稱為“文件組還原順序”。 您可以等待執(zhí)行特定的文件組還原順序,等待的時(shí)間長短由您決定。 每個(gè)文件組還原順序?qū)⒁粋€(gè)或多個(gè)脫機(jī)文件組還原并恢復(fù)到與數(shù)據(jù)庫一致的點(diǎn)。 文件組還原順序的時(shí)間安排和數(shù)量取決于您的恢復(fù)目標(biāo)、您想要還原的脫機(jī)文件組數(shù)量以及每個(gè)文件組還原順序中還原的脫機(jī)文件組的數(shù)量。
執(zhí)行段落還原的精確要求取決于數(shù)據(jù)庫的恢復(fù)模式。
下面我們來看看實(shí)例:
--段落還原:數(shù)據(jù)庫損壞范圍比較大,跨多個(gè)數(shù)據(jù)文件甚至跨文件組的時(shí)候,我們不得不恢復(fù)整個(gè)數(shù)據(jù)庫。 --這時(shí)如果數(shù)據(jù)庫特別大,數(shù)據(jù)庫恢復(fù)時(shí)間將會(huì)很長。但我們可以使用SQL Server提供的段落還原,來逐步恢復(fù)數(shù)據(jù)庫。 --首先備份尾日志: 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 --還原尾日志并恢復(fù) RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_TAIL.TRN' WITH RECOVERY,STATS=10 --此時(shí)AdventureWorks數(shù)據(jù)庫中位于PRIMARY和MST文件組中的文件已經(jīng)可以訪問。 --但是位于其他文件組如:TRN文件組中的表還不能訪問。 --消息 8653,級(jí)別 16,狀態(tài) 1,第 2 行 --查詢處理器無法為表或視圖“****”生成計(jì)劃,因?yàn)樵摫眈v留在不處于聯(lián)機(jī)狀態(tài)的文件組中。 --接下來還原副文件組TRN: RESTORE DATABASE [AdventureWorks] FILEGROUP=N'TRN' FROM DISK=N'D:\BACKUP_TEST\AD_FULL.bak' WITH NORECOVERY,STATS=10 --如果數(shù)據(jù)庫不是企業(yè)版,以上還原將會(huì)提示“尚未備份數(shù)據(jù)庫 "AdventureWorks" 的日志尾部?!? --需要再次備份一次日志尾部,意味著還原副文件組TRN的時(shí)候整個(gè)數(shù)據(jù)庫都處于正在還原狀態(tài)。所以對于非企業(yè)版而言,只能離線段落還原,個(gè)人覺得意義不是很大...... --依次還原日志: 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 --還原尾日志并恢復(fù) RESTORE LOG [AdventureWorks] FROM DISK=N'D:\BACKUP_TEST\LOG_BACK_TAIL.TRN' WITH RECOVERY,STATS=10 --此時(shí)位于副文件組TRN中的表已經(jīng)可以訪問了。 --段落還原全部完成
相關(guān)文章
如何在navicat中利用sql語句建表+添加數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于如何在navicat中利用sql語句建表+添加數(shù)據(jù)的相關(guān)資料,Navicat是一套快速,專為簡化數(shù)據(jù)庫的管理及降低系統(tǒng)管理成本而設(shè),它的設(shè)計(jì)符合數(shù)據(jù)庫管理員、開發(fā)人員及中小企業(yè)的需要,需要的朋友可以參考下2023-10-10sql not in 與not exists使用中的細(xì)微差別
用的時(shí)候我們只注重查詢的效率,但卻往往會(huì)忽略一下比較細(xì)小的區(qū)別2013-02-02使用SSIS創(chuàng)建同步數(shù)據(jù)庫數(shù)據(jù)任務(wù)的方法
SSIS(SQL Server Integration Services)是用于生成企業(yè)級(jí)數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺(tái)。使用 Integration Services 可解決復(fù)雜的業(yè)務(wù)問題,具體表現(xiàn)為:復(fù)制或下載文件,發(fā)送電子郵件以響應(yīng)事件,更新數(shù)據(jù)倉庫,清除和挖掘數(shù)據(jù)以及管理 SQL Server 對象和數(shù)據(jù)2012-09-09SQL Server數(shù)據(jù)庫之備份和恢復(fù)數(shù)據(jù)庫
在一些對數(shù)據(jù)可靠性要求很高的行業(yè),若發(fā)生意外停機(jī)或數(shù)據(jù)丟失,其損失是十分慘重的,因此,本文詳細(xì)介紹了數(shù)據(jù)庫備份和恢復(fù)數(shù)據(jù)庫方法,感興趣的同學(xué)可以借鑒一下2023-03-03使用SQL Server分區(qū)表功能提高數(shù)據(jù)庫的讀寫性能
一般來說一個(gè)系統(tǒng)最先出現(xiàn)瓶頸的點(diǎn)很可能是數(shù)據(jù)庫。比如我們的生產(chǎn)系統(tǒng)并發(fā)量很高在跑一段時(shí)間后,數(shù)據(jù)庫中某些表的數(shù)據(jù)量會(huì)越來越大。海量的數(shù)據(jù)會(huì)嚴(yán)重影響數(shù)據(jù)庫的讀寫性能2023-05-05java連接mysql數(shù)據(jù)庫 java連接sql server數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了java連接mysql數(shù)據(jù)庫,以及java連接sql server數(shù)據(jù)庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02SQL對數(shù)據(jù)進(jìn)行按月統(tǒng)計(jì)或?qū)?shù)據(jù)進(jìn)行按星期統(tǒng)計(jì)的實(shí)例代碼
這篇文章主要介紹了SQL對數(shù)據(jù)進(jìn)行按月統(tǒng)計(jì)或?qū)?shù)據(jù)進(jìn)行按星期統(tǒng)計(jì)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08