电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

瀏覽:74日期:2023-10-16 13:53:50
摘要

本期月報是SQL Server數(shù)據(jù)庫備份技術(shù)系列文章的開篇,介紹三種常見的SQL Server備份方法的工作方式、使用T-SQL語句和使用SSMS IDE創(chuàng)建備份集三個層面,介紹SQL Server的三種常見備份的工作原理和使用方法。三種常見的備份包括:

?數(shù)據(jù)庫完全備份(Full Backup)

?數(shù)據(jù)庫日志備份(Transaction Log Backup)

?數(shù)據(jù)庫差異備份(Differential Backup)

備份的重要性

在開始分享之前,我們首先來看看數(shù)據(jù)庫備份的重要性。進(jìn)入DT時代,數(shù)據(jù)的價值越發(fā)體現(xiàn),數(shù)據(jù)已經(jīng)成為每個公司賴以生存的生命線,數(shù)據(jù)的重要性不言而喻,而公司絕大多數(shù)核心數(shù)據(jù)都存放在數(shù)據(jù)庫里。數(shù)據(jù)庫本身的災(zāi)難恢復(fù)(DR)能力是數(shù)據(jù)安全的最后一道防線,也是數(shù)據(jù)庫從業(yè)者對數(shù)據(jù)安全底線的堅(jiān)守。數(shù)據(jù)庫中數(shù)據(jù)潛在的安全風(fēng)險包括:硬件故障、惡意入侵、用戶誤操作、數(shù)據(jù)庫損壞和自然災(zāi)害導(dǎo)致的數(shù)據(jù)損失等。在關(guān)系型數(shù)據(jù)庫SQL Server中,數(shù)據(jù)庫備份是災(zāi)難恢復(fù)的能力有力保證。

Full Backup

Full Backup(完全備份)是SQL Server所有備份類型中,最為簡單、最基礎(chǔ)的數(shù)據(jù)庫備份方法,它提供了某個數(shù)據(jù)庫在備份時間點(diǎn)的完整拷貝。但是,它僅支持還原到數(shù)據(jù)庫備份成功結(jié)束的時間點(diǎn),即不支持任意時間點(diǎn)還原操作。

Full Backup工作方式

以上是Full Backup是什么的解釋,那么接下來,我們通過一張圖和案例來解釋Full Backup的工作原理。

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

這是一張某數(shù)據(jù)庫的數(shù)據(jù)產(chǎn)生以及數(shù)據(jù)庫備份在時間軸上的分布圖,從左往右,我們可以分析如下:

7 P.m.:產(chǎn)生了數(shù)據(jù)#1

10 P.m.:數(shù)據(jù)庫完全備份,備份文件中包含了#1

2 a.m.:產(chǎn)生了數(shù)據(jù)#2,目前數(shù)據(jù)包含#1,#2

6 a.m.:產(chǎn)生了數(shù)據(jù)#3,目前數(shù)據(jù)包含#1,#2,#3

10 a.m.:數(shù)據(jù)庫完全備份,備份文件中包含#1,#2,#3

1 p.m.:產(chǎn)生了數(shù)據(jù)#4,目前數(shù)據(jù)包含#1,#2,#3,#4

5 p.m.:產(chǎn)生了數(shù)據(jù)#5,目前數(shù)據(jù)包含#1,#2,#3,#4,#5

8 p.m.:產(chǎn)生了數(shù)據(jù)#6,目前數(shù)據(jù)包含#1,#2,#3,#4,#5,#6

10 p.m.:數(shù)據(jù)庫完全備份,備份文件中包含了數(shù)據(jù)#1,#2,#3,#4,#5,#6

從這張圖和相應(yīng)的解釋分析來看,數(shù)據(jù)庫完全備份工作原理應(yīng)該是非常簡單的,它就是數(shù)據(jù)庫在備份時間點(diǎn)對所有數(shù)據(jù)的一個完整拷貝。當(dāng)然在現(xiàn)實(shí)的生產(chǎn)環(huán)境中,事務(wù)的操作遠(yuǎn)比這個復(fù)雜,因此,在這個圖里面有兩個非常重要的點(diǎn)沒有展示出來,那就是:

?備份操作可能會導(dǎo)致I/O變慢:由于數(shù)據(jù)庫備份是一個I/O密集型操作,所以在數(shù)據(jù)庫備份過程中,可能會導(dǎo)致數(shù)據(jù)庫的I/O操作變慢。

?全備份過程中,數(shù)據(jù)庫的事務(wù)日志不能夠被截斷:對于具有大事務(wù)頻繁操作的數(shù)據(jù)庫,可能會導(dǎo)致事務(wù)日志空間一直不停頻繁增長,直到占滿所有的磁盤剩余空間,這個場景在阿里云RDS SQL產(chǎn)品中有很多的客戶都遇到過。其中之一解決方法就需要依賴于我們后面要談到的事務(wù)日志備份技術(shù)。

T-SQL創(chuàng)建Full Backup

使用T-SQL語句來完成數(shù)據(jù)庫的完全備份,使用BACKUP DATABASE語句即可,如下,對AdventureWorks2008R2數(shù)據(jù)庫進(jìn)行一個完全備份:

USE masterGOBACKUP DATABASE [AdventureWorks2008R2] TO DISK = ’C:TempAdventureWorks2008R2_20171112_FULL.bak’ WITH COMPRESSION, INIT, STATS = 5;GO SSMS IDE創(chuàng)建Full Backup

除了使用T-SQL語句創(chuàng)建數(shù)據(jù)庫的完全備份外,我們還可以使用SSMS IDE界面操作來完成,方法:

右鍵點(diǎn)擊想要備份的數(shù)據(jù)庫 => Tasks => Backup => 選擇FULL Backup Type => 選擇Disk 做為備份文件存儲 => 點(diǎn)擊Add 添加備份文件 => 選擇你需要存儲備份文件的目錄 => 輸入備份文件名,如下圖兩張圖展示。

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

Back up Database設(shè)置界面

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

Transaction Log Backup

SQL Server數(shù)據(jù)庫完全備份是數(shù)據(jù)庫的完整拷貝,所以備份文件空間占用相對較大,加之可能會在備份過程中導(dǎo)致事務(wù)日志一直不斷增長。為了解決這個問題,事務(wù)日志備份可以很好的解決這個問題,因?yàn)椋菏聞?wù)日志備份記錄了數(shù)據(jù)庫從上一次日志備份到當(dāng)前時間內(nèi)的所有事務(wù)提交的數(shù)據(jù)變更,它可以配合數(shù)據(jù)庫完全備份和差異備份(可選)來實(shí)現(xiàn)時間點(diǎn)的還原。當(dāng)日志備份操作成功以后,事務(wù)日志文件會被截斷,事務(wù)日志空間將會被重復(fù)循環(huán)利用,以此來解決完全備份過程中事務(wù)日志文件一致不停增長的問題,因此我們最好能夠周期性對數(shù)據(jù)庫進(jìn)行事務(wù)日志備份,以此來控制事務(wù)日志文件的大小。但是這里需要有一個前提是數(shù)據(jù)庫必須是FULL恢復(fù)模式,SIMPLE恢復(fù)模式的數(shù)據(jù)庫不支持事務(wù)日志的備份,當(dāng)然就無法實(shí)現(xiàn)時間點(diǎn)的還原。請使用下面的語句將數(shù)據(jù)庫修改為FULL恢復(fù)模式,比如針對AdventureWorks2008R2數(shù)據(jù)庫:

USE [master]GOALTER DATABASE [AdventureWorks2008R2] SET RECOVERY FULL WITH NO_WAITGO Transaction Log Backup工作方式

事務(wù)日志備份與數(shù)據(jù)完全備份工作方式截然不同,它不是數(shù)據(jù)庫的一個完整拷貝,而是至上一次日志備份到當(dāng)前時間內(nèi)所有提交的事務(wù)數(shù)據(jù)變更。用一張圖來解釋事務(wù)日志備份的工作方式:

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

00:01:事務(wù)#1,#2,#3開始,未提交

00:02:事務(wù)#1,#2,#3成功提交;#4,#5,#6事務(wù)開始,未提交;這時備份事務(wù)日志;事務(wù)日志備份文件中僅包含已提交的#1,#2,#3的事務(wù)(圖中的LSN 1-4,不包含#4)

00:04:由于在00:02做了事務(wù)日志備份,所以#1,#2,#3所占用的空間被回收;#4,#5,#6事務(wù)提交完成

00:05:事務(wù)#7已經(jīng)提交成功;#8,#9,#10開始,但未提交;事務(wù)日志備份文件中包含#4,#5,#6,#7的事務(wù)(圖中的LSN4-8,不包含#8)。

從這張圖我們看到,每個事務(wù)日志備份文件中包含的是已經(jīng)完成的事務(wù)變更,兩次事務(wù)日志備份中存放的是完全不同的變更數(shù)據(jù)。而每一次事務(wù)日志備份成功以后,事務(wù)日志空間可以被成功回收,重復(fù)利用,達(dá)到了解決數(shù)據(jù)庫完全備份過程中事務(wù)日志一致不斷增長的問題。

T-SQL創(chuàng)建事務(wù)日志備份

使用T-SQL語句來創(chuàng)建事務(wù)日志的備份方法如下:

USE MasterGOBACKUP LOG [AdventureWorks2008R2]TO DISK = N’C:tempAdventureWorks2008R2_log_201711122201.trn’ with compression,stats=1;GOBACKUP LOG [AdventureWorks2008R2]TO DISK = N’C:tempAdventureWorks2008R2_log_201711122202.trn’ with compression,stats=1;GOBACKUP LOG [AdventureWorks2008R2]TO DISK = N’C:tempAdventureWorks2008R2_log_201711122203.trn’ with compression,stats=1;GO SSMS IDE創(chuàng)建事務(wù)日志備份

使用SSMS IDE創(chuàng)建事務(wù)日志備份的方法:

右鍵點(diǎn)擊想要創(chuàng)建事務(wù)日志備份的數(shù)據(jù)庫 => Tasks => Backup => 選擇Transaction Log Backup Type => 選擇Disk 做為備份文件存儲 => 點(diǎn)擊Add 添加備份文件 => 選擇你需要存儲備份文件的目錄 => 輸入備份文件名,如下圖展示:

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

事務(wù)日志備份鏈

由于數(shù)據(jù)庫完全備份是時間點(diǎn)數(shù)據(jù)的完整拷貝,每個數(shù)據(jù)庫完整備份相互獨(dú)立,而多個事務(wù)日志備份是通過事務(wù)日志鏈條連接在一起,事務(wù)日志鏈起點(diǎn)于完全備份,SQL Server中的每一個事務(wù)日志備份文件都擁有自己的FirstLSN和LastLSN,F(xiàn)irstLSN用于指向前一個事務(wù)日志備份文件的LastLSN;而LastLSN指向下一個日志的FirstLSN,以此來建立這種鏈接關(guān)系。這種鏈接關(guān)系決定了事務(wù)日志備份文件還原的先后順序。當(dāng)然,如果其中任何一個事務(wù)日志備份文件丟失或者破壞,都會導(dǎo)致無法恢復(fù)整個事務(wù)日志鏈,僅可能恢復(fù)到你擁有的事務(wù)日志鏈條的最后一個。事務(wù)日志備份鏈條的關(guān)系如下圖所示:

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

我們使用前面“T-SQL創(chuàng)建事務(wù)日志備份”創(chuàng)建的事務(wù)日志鏈,使用RESTORE HEADERONLY方法來查看事務(wù)日志鏈的關(guān)系:

USE MasterGORESTORE HEADERONLY FROM DISK = N’C:tempAdventureWorks2008R2_log_201711122201.trn’;RESTORE HEADERONLY FROM DISK = N’C:tempAdventureWorks2008R2_log_201711122202.trn’;RESTORE HEADERONLY FROM DISK = N’C:tempAdventureWorks2008R2_log_201711122203.trn’;

查詢結(jié)果如下:

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

從這個結(jié)果展示來看,事務(wù)日志備份文件AdventureWorks2008R2_log_201711122201的LastLSN指向了的AdventureWorks2008R2_log_201711122202的FirstLSN,而AdventureWorks2008R2_log_201711122202的LastLSN又指向了AdventureWorks2008R2_log_201711122203的FirstLSN,以此來建立了事務(wù)日志備份鏈條關(guān)系。假如AdventureWorks2008R2_log_201711122202的事務(wù)日志備份文件丟失或者損壞的話,數(shù)據(jù)庫只能還原到AdventureWorks2008R2_log_201711122201所包含的所有事務(wù)行為。

這里有一個問題是:為了防止數(shù)據(jù)庫事務(wù)日志一直不斷的增長,而我們又不想每次都對數(shù)據(jù)庫做完全備份,那么我們就必須對數(shù)據(jù)庫事務(wù)日志做周期性的日志備份,比如:5分鐘甚至更短,以此來降低數(shù)據(jù)丟失的風(fēng)險,以此推算每天會產(chǎn)生24 * 12 = 288個事務(wù)日志備份,這樣勢必會導(dǎo)致事務(wù)日志恢復(fù)鏈條過長,拉長恢復(fù)時間,增大了數(shù)據(jù)庫還原時間(RTO)。這個問題如何解決就是我們下面章節(jié)要分享到的差異備份技術(shù)。

Differential Backup

事務(wù)日志備份會導(dǎo)致數(shù)據(jù)庫還原鏈條過長的問題,而差異備份就是來解決事務(wù)日志備份的這個問題的。差異備份是備份至上一次數(shù)據(jù)庫全量備份以來的所有變更的數(shù)據(jù)頁,所以差異備份相對于數(shù)據(jù)庫完全備份而言往往數(shù)據(jù)空間占用會小很多。因此,備份的效率更高,還原的速度更快,可以大大提升我們?yōu)碾y恢復(fù)的能力。

Differential Backup工作方式

我們還是從一張圖來了解數(shù)據(jù)庫差異備份的工作方式:

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

7 a.m.:數(shù)據(jù)包含#1

10 a.m.:數(shù)據(jù)庫完全備份,備份文件中包含#1

1 p.m.:數(shù)據(jù)包含#1,#2,#3,#4

2 p.m.:數(shù)據(jù)庫差異備份,備份文件中包含#2,#3,#4(上一次全備到目前的變更數(shù)據(jù))

4 p.m.:數(shù)據(jù)包含#1,#2,…,#6

6 p.m.:數(shù)據(jù)庫差異備份,備份文件中包含#2,#3,#4,#5,#6

8 p.m.:數(shù)據(jù)包含#1,#2,…,#8

10 p.m.:數(shù)據(jù)庫完全備份,備份文件中包含#1,#2,…,#8

11 p.m.:產(chǎn)生新的數(shù)據(jù)#9,#10;數(shù)據(jù)包含#1,#2,…,#10

2 a.m.:數(shù)據(jù)庫差異備份,備份文件中包含#9,#10

從這個差異備份的工作方式圖,我們可以很清楚的看出差異備份的工作原理:它是備份繼上一次完全備份以來的所有數(shù)據(jù)變更,所以它大大減少了備份日之鏈條的長度和縮小備份集的大小。

T-SQL創(chuàng)建差異備份

使用T-SQL語句創(chuàng)建差異備份的方法如下:

USE masterGOBACKUP DATABASE [AdventureWorks2008R2] TO DISK = ’C:TempAdventureWorks2008R2_20171112_diff.bak’ WITH DIFFERENTIALGO SSMS創(chuàng)建差異備份

使用SSMS IDE創(chuàng)建差異備份的方法:

右鍵點(diǎn)擊想要創(chuàng)建事務(wù)日志備份的數(shù)據(jù)庫 => Tasks => Backup => 選擇Differential Backup Type => 選擇Disk 做為備份文件存儲 => 點(diǎn)擊Add 添加備份文件 => 選擇你需要存儲備份文件的目錄 => 輸入備份文件名,如下圖展示:

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

最后總結(jié)

本期月報分享了SQL Server三種常見的備份技術(shù)的工作方式和備份方法。數(shù)據(jù)庫完全備份是數(shù)據(jù)庫備份時間的一個完整拷貝;事務(wù)日志備份是上一次日志備份到當(dāng)前時間的事務(wù)日志變更,它解決了數(shù)據(jù)庫完全備份過程中事務(wù)日志一直增長的問題;差異備份上一次完全備份到當(dāng)前時間的數(shù)據(jù)變更,它解決了事務(wù)日志備份鏈過長的問題。

將SQL Server這三種備份方式的工作方式,優(yōu)缺點(diǎn)總結(jié)如下表格:

MySQL · 最佳實(shí)踐 · SQL Server三種常見備份 已認(rèn)證的機(jī)構(gòu)

從這個表格,我們知道每種備份有其各自的優(yōu)缺點(diǎn),那么我們?nèi)绾蝸碇贫ㄎ覀兊膫浞莺瓦€原策略以達(dá)到快速災(zāi)難恢復(fù)的能力呢?這個話題,我們將在下一期月報中進(jìn)行分享。

來自:https://zhuanlan.zhihu.com/p/31355859

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 耐破强度测试仪-纸箱破裂强度试验机-济南三泉中石单品站 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 塑料托盘厂家直销-吹塑托盘生产厂家-力库塑业【官网】 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 沙盘模型公司_沙盘模型制作公司_建筑模型公司_工业机械模型制作厂家 | 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司 | 青岛成人高考_山东成考报名网 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 上海洗地机-洗地机厂家-全自动洗地机-手推式洗地机-上海滢皓洗地机 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 成都思迪机电技术研究所-四川成都思迪编码器 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 早报网| 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 选矿设备,选矿生产线,选矿工艺,选矿技术-昆明昆重矿山机械 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 |