All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET代码拾零_[Asp.Net教程]
安装SQL Server 2000的错误及解决_[SQL Server教程]
Asp.net,Ajax,学习笔记4,UpdatePanel的使用(上)_[Asp.Net教程]
delphi自绘栅格组件(TDrawGrid)使用方法
学习网页Web标准:DOCTYPE(文档类型)基础知识_[Html教程]
SQL,Server补丁安装常见问题详解_[SQL,Server教程]
php脚本中include文件报错解决方法_[PHP教程]
asp.net2.0实现语言和主题的切换_[Asp.Net教程]
MySQL,Query,Profile_mssql学习_编程技术
ASP.NET上传大文件控件_.net资料_编程技术
Reading number is top 10 pictures
漂亮的跳舞妹妹2
The wise woman of chest2
The money of more than 100 countries and regions12
Soong ching ling's former residence1
男人,就要活出棱角
A man's favorite things7
陪睡门马睿菈自曝写真 称首拍大尺度照片1
The money of more than 100 countries and regions6
9.3阅兵全景图8-航空梯队
The Soviet union swimsuit exposure in the 70 year1
Download software ranking
Tram sex maniac 2 (H) rar bag18
双旗镇刀客A
WebService在.NET中的实战应用教学视频 → 第3集
星际争霸1.08硬盘免安装版
Such love down(擒爱记)
Sora aoi's film--cangkong_Blue.Sky
电脑知识及技巧大合集
株洲本地在线棋牌游戏
Tram sex maniac 2 (H) rar bag8
Eclipse 4.2.2 For Win32
归海一刀 published in(发表于) 2014/2/1 0:21:42 Edit(编辑)
数据库的备份与还原_[SQL,Server教程]

数据库的备份与还原_[SQL,Server教程]

数据库的备份与还原_[SQL Server教程]

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


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


备份:可以直接备份,也可利用维护计划,还可利用备份设备.要想周期性的自动执行,最好是利用作业.下面介绍的就是备份设备+作业进行备份.
可以在企业管理器中可视化进行,也可利用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







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.