分享
 
 
 

数据库的备份与还原

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

数据库的备份一般都会同时拥有三种:完全备份、差异备份、事务日志备份

完全备份是指整个数据的完整备份,差异备份则指现在数据与上次完整备份后的差异数据备份;而事务日志备份则是备份日志文件.

根据以上的说明,一般在安排调度时就是完全备份的间隔期最长,差异备份其次,事务日志的最短.比如一周进行一次完整备份,一天进行一次差异备份,每四小时进行一次事务日志备份.当然安排执行时须根据具体实际情况来定.

备份:可以直接备份,也可利用维护计划,还可利用备份设备.要想周期性的自动执行,最好是利用作业.下面介绍的就是备份设备+作业进行备份.

可以在企业管理器中可视化进行,也可利用T-SQL编写.一般后者更灵活.

当数据有丢失或其它系统故障需要恢复时,一般恢复顺序为:

1.备份当前的事务日志(如果还能备份的话);

2.恢复最近一次的完整备份;

3.恢复离最近一次的差异备份;

4.顺序恢复最近一次差异备份之后的每一个事务日志备份

5.恢复第一步备份的当前事务日志;

注意:1.如果数据没有损坏,原来数据文件还完好无损,请直接附加数据库.

2.在进行恢复完整备份时,就须指定norecovery.直到最后所有的事务日志恢复完全才可recovery结束.

还有一种为文件,文件组备份,该备份还原更特殊,更灵活。做这种备份的情况是该文件上的数据比较重要,改动比较频繁。而在恢复时,只要恢复受损的所在文件或文件组及其相应的事务日志,对于大型数据库来说,将能大大恢复加快速度。其缺点是比较难于管理。必须注意文件的完整性及事务日志备份的覆盖点。

下面示例为数据库DB05102的完全备份、差异备份、事务日志备份及其还原操作。呵,建作业时用的是企业管理器。因为那样方便多了,当然如果只能用代码编写时,那再麻烦也只能硬着头皮写啦^_^

1.建备份设备:

use master

alter database pubs

set recovery simple

go

go

if exists(select name from sysdevices where name='DB05102FBK')

exec sp_dropdevice 'DB05102FBK'

exec sp_addumpdevice 'disk','DB05102FBK','F:\0509\Backup\DB05102FBK' --完全备份设备

go

if exists(select name from sysdevices where name='DB05102DBK')

exec sp_dropdevice 'DB05102DBK'

exec sp_addumpdevice 'disk','DB05102DBK','F:\0509\Backup\DB05102DBK' --差异备份设备

go

if exists(select name from sysdevices where name='DB05102LBK')

exec sp_dropdevice 'DB05102LBK'

exec sp_addumpdevice 'disk','DB05102LBK','F:\0509\Backup\DB05102LBK' --事务日志备份设备

go

exec sp_addumpdevice 'disk','DB05102LBK2','F:\0509\Backup\DB05102LBK2' --当前事务日志备份设备

go

2.在企业管理器中新建如下三种作业,安排调度为:

完全备份每1天执行1次;步骤中的T-SQL 语句为:backup database DB05102 to DB05102FBK

差异备份每天每隔4小时执行1次;其中的T-SQL语句为:

backup database DB05102 to DB05102DBK with differential

事务日志备份每天每隔1小时执行1次:其中的t-sql语句为:

backup log DB05102 to DB05102LBK. 注意数据库在创建时,默认恢复模式为simple.而要备份事务日志的话,必须将其改为full 或 bulk_logged.即alter database DB05102 set recovery Bulk_logged.当然这个语句只执行一次就行了.没必要每次执行事务日志备份都带进去

3.还原数据库:

备份当前活动事务日志:

backup log DB05102 to DB05102LBK2

with no_truncate

go

还原上一次的完全备份.file为要还原的备份集,一次备份产生一个备份集,norecovery说明恢复未结束.直到最后一个日志恢复方指定为recovery或不指定 (默认为recovery) .

restore database DB05102

from DB05102FBK

with file=4,norecovery

go

.还原上面完全备份后的离现在最近一次的差异备份

restore database DB05102

from DB05102dbk

with file=29,norecovery

go

----.还原上面的差异备份后的所有事务日志备份.必须按顺序执行.

restore log DB05102

from DB05102lbk

with file=115,norecovery

go

restore log DB05102

from DB05102lbk

with file=116,norecovery

go

restore log DB05102

from DB05102lbk

with file=117,norecovery

go

还原当前备份的事务日志备份.

restore log DB05102

from DB05102lbk2

with file=8

go

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有