国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

17、SQL Server 備份和還原

2024-08-31 00:54:01
字體:
來源:轉載
供稿:網(wǎng)友
17、SQL Server 備份和還原

SQLServer備份

恢復模式

SQL Server 數(shù)據(jù)恢復模式分為三種:完整恢復模式、大容量日志恢復模式、簡單恢復模式。

完整恢復模式

默認的恢復模式,它會完整記錄下操作數(shù)據(jù)庫的每一個步驟,使用完整恢復模式可以將一個數(shù)據(jù)庫恢復到一個特定的時間點,這個時間點可以是最近一次可用的備份、一個特定的日期和時間的事務。

大容量日志恢復模式

它是對完整恢復模式的補充,就是要對大容量操作進行最小日志記錄,節(jié)省日志文件的空間。

比如說一次在數(shù)據(jù)庫中插入幾十萬條記錄時,如果是完整恢復模式會記錄每一個插入動作,使日志文件變的非常大。在大容量日志恢復模式下,只記錄必要操作,不記錄所有日志,這樣可以提高數(shù)據(jù)庫性能。但是由于日志記錄不完整,一旦出現(xiàn)問題,數(shù)據(jù)將可能無法恢復。

因此,一般只有在操作大量數(shù)據(jù)的時候才將恢復模式改為大容量日志恢復模式,在數(shù)據(jù)處理完畢后,馬上將恢復模式改回完整數(shù)據(jù)庫模式。

簡單恢復模式

簡單恢復模式下,數(shù)據(jù)庫會自動把不活動的日志刪除,因此簡化了備份的還原,但因為沒有日志備份,所以不能恢復到失敗的時間點。通常,這個模式只用于對數(shù)據(jù)庫安全要求不太高的數(shù)據(jù)庫。并且數(shù)據(jù)庫只能做完整和差異備份,無法使用事務日志備份。

數(shù)據(jù)庫備份

SQLServer提供了四種備份模式:完整備份,差異備份,事務日志備份,文件和文件組備份。

完整備份

備份整個數(shù)據(jù)庫的所有內(nèi)容,包括事務日志。該備份類型需要比較大的存儲空間來存儲備份文件,備份時間也比較長,在還原數(shù)據(jù)庫時,也只要還原一個備份文件即可。

如:2015年1月1日 8點進行了完整備份,那么恢復數(shù)據(jù)的時候就是恢復到2015年1月1日 8點的數(shù)據(jù)。

差異備份

差異備份是完整備份的補充,只備份上次完整備份后更改的數(shù)據(jù)。相對于完整備份來說,差異備份的數(shù)據(jù)量比完整數(shù)據(jù)備份小,備份的速度也比完整備份要快。因此,差異備份通常座位常用的備份方式。在還原數(shù)據(jù)時,要先還原前一次的完整備份,然后還原最后一次所做的差異備份。

如:2015年1月1日 8點進行了完整備份,在1月2日和1月3日又分別進行了差異備份,那么1月2日記錄的是1-2的數(shù)據(jù),1月3日則是1-3的數(shù)據(jù)。因此在還原時,如果想回到3日的狀態(tài),需要先恢復完整備份,然后還原1月3日的差異備份即可。

事務日志備份

事務日志備份只備份事務日志里的內(nèi)容,事務日志記錄了上一次完整備份或事務日志備份后數(shù)據(jù)庫的所有變動過程。事務日志記錄的是某一段時間內(nèi)的數(shù)據(jù)庫變動情況,因此在進行事務日志備份之前,必須要進行完整備份。與差異備份類似,事務日志備份生成的文件嬌小、占用時間較短,但是在還原數(shù)據(jù)庫時,除了要線還原完整備份外,還要依次還原每個事務日志備份,而不是還原最后一個。

如:2015年1月1日 8點進行了完整備份,此時對數(shù)據(jù)庫做的所有改動都會按照時間分批存儲在事務日志備份中,這樣可以還原到某個時間點,使用SSMS可以自動完整相關時間鏈。

文件和文件組備份

如果在創(chuàng)建數(shù)據(jù)庫時,為數(shù)據(jù)庫創(chuàng)建了多個數(shù)據(jù)庫文件或文件組,可以使用該方式。使用文件和文件組備份方式可以只備份數(shù)據(jù)庫中的某些文件,該備份方式在數(shù)據(jù)庫文件非常龐大時非常有效,由于每次備份一個或幾個文件,可以分多次來備份數(shù)據(jù)庫,避免大型數(shù)據(jù)庫備份的時間過長。另外,當某個文件損壞時,可以只還原損壞的文件或文件組部分。

進行完整備份

備份完成后,去選擇的目錄中查看文件。

--完整備份select count(*) from news--79647

此時插入測試數(shù)據(jù),并執(zhí)行差異備份

--插入測試數(shù)據(jù)declare @index int = 1while (@index <100)begin    insert into news (title,content,datetime) values ('title' + cast(@index as varchar),'content',getdate())    set @index = @index +1endselect count(*) from news--79746

查看目錄,文件已經(jīng)變大了。

繼續(xù)插入測試數(shù)據(jù),并執(zhí)行事務日志備份

--插入測試數(shù)據(jù)declare @index int = 1while (@index <100)begin    insert into news (title,content,datetime) values ('title' + cast(@index as varchar),'content',getdate())    set @index = @index +1endselect count(*) from news--79845

目錄下的文件又變大了,我就不截圖了。

此時刪除所有數(shù)據(jù)

--刪除數(shù)據(jù)delete news --0

SQLServer 還原

還原數(shù)據(jù)庫時,如果必須還原一個完整備份、一個差異備份以及一個事務日志備份,則必須按照這個順序來還原。

在還原數(shù)據(jù)庫時,數(shù)據(jù)庫處于一個不可用的狀態(tài),如此就可以添加后續(xù)的差異和事務日志備份了。

使用SSMS工具恢復,可以自動識別一個完整的備份鏈,從而根據(jù)指定的內(nèi)容還原全部備份,還原后數(shù)據(jù)庫就可用了。

select count(*) from news--79845

執(zhí)行sql語句,數(shù)據(jù)還原到最后一次有效的事務日志備份了。

關于備份還有一個小東西,備份設置,可以設置好物理路徑,存?zhèn)€邏輯名,備份的時候選擇這個名字,不用去找路徑。

唯一一點作用就是可以看里面詳細的備份信息


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 重庆市| 黄山市| 枣强县| 阿拉善盟| 唐山市| 晋江市| 桐柏县| 临夏市| 女性| 陆良县| 蕉岭县| 腾冲县| 通城县| 柏乡县| 勃利县| 新源县| 天长市| 会泽县| 永川市| 赤峰市| 绍兴市| 齐河县| 临朐县| 信丰县| 泰安市| 桐城市| 延吉市| 滨海县| 涞水县| 浦县| 社会| 大余县| 九龙县| 顺平县| 光山县| 陆良县| 尉氏县| 来安县| 斗六市| 萨迦县| 丁青县|