数据库备份策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库备份策略
为防止数据大量丢失,确保集团各业务不会因数据库的损坏而停止正常运营。
特制订此数据库备份操作策略。
1.数据库备份适用范围:
此策略适用范围为:建材erp系统的数据库sunfire和HNTmis,OA系统数据库OASERVER,考勤系统数据库KAOQIN。
2.数据库备份方案:
备份策略:
数据库全备份+日志备份:周日自动进行。
数据库差异备份+日志备份:每天中午自动进行。
脱机数据库全备份:每月15日由管理员手动进行。
具体备份时间安排见附件。
备份存储介质:
备份采用本地和局域网异机双备份。
本地备份数据库后,同时备份文件将保存到局域网异机存储介质上。
可确保服务器存储介质发生故障后,还可获得备份数据库。
备份保存时间:
备份保存时间为:本地和异机均保存30天。
超过30天的备份数据库,系统将自动删除。
备份日志报告
每次备份完成后,系统将在备份存储目录下生成《备份日志报告》。
此报告详细记录备份的操作过程。
每日数据库管理员应查看【sqlserver 的作业活动监控器】,检查备份是否成功。
若不成功则可在《备份日志报告》,中检查备份中发生的错误,以及时调整改正。
备份恢复测试
每天应抽查备份文件做恢复测试,检查备份的有效性与完整性。
3.备份具体过程
备份工具选择:
本地备份工作由【sql Server任务计划】完成,异机备份传输工作由【windows 任务计划】完成。
本地备份过程:
在【sql代理】中自定义作业,在【作业步骤属性】框里添加以下命令:
3.2.1 本地备份:
declare @cmdstr varchar(1000),
@Sfilename varchar(100),
@Sfilepath varchar(100),@rfilename varchar(100),
@Dfilepath varchar(100)
set @Sfilename='HNTMis_difbak'
+cast(month(getdate())as varchar(10))
+cast(day(getdate())as varchar(10))
+cast(datename(hour,getdate()) as varchar(10))
+cast(datename (minute,getdate()) as varchar(10))+'.bak' --定义备份文件名
set @Sfilepath='e:\databak\HNTMis_bak_temp\'
--备份文件存放目录
set @Dfilepath=' \\\e$\HNTMisdatabasebak'
--异机备份存放路径
set @rfilename='HNTMis_difbak'
+cast(month(getdate())as varchar(10))
+cast(day(getdate()) as varchar(10))
+cast(datename(hour,getdate()) as varchar(10))
+cast(datename(minute,getdate()) as varchar(10))+'.rar'
--定义压缩文件名
set @Sfilename=@Sfilepath+@Sfilename
差异备份命令:
set @cmdstr='backup database HNTMis to disk
='''+@Sfilename+'''
with differential'
exec (@cmdstr) --执行备份命令
执行完以上命令后,会生成差异备份备份数据库。
全备份命令为:
set @cmdstr='backup database oaserver to disk
='''+@Sfilename+''' '
日志备份的命令为:
set @cmdstr='backup log oa to disk='''+@Sfilename+''' '
3.2.2压缩备份数据库:
set @rfilename=@Sfilepath+@rfilename
set @cmdstr='rar A '+@Rfilename+' '+@Sfilename
压缩文件和备份文件使用同一个存储目录。
3.2.3删除本机备份:
set @cmdstr='del '+@Sfilename
exec xp_cmdshell @cmdstr
3.2.4删除过期的压缩文件:
exec xp_cmdshell 'forfiles/p e:\databak\HNTMis_bak_temp\ /s /m *.rar /d -30 /c "cmd /c del /q /f @file" '
3.2.4定义任务执行时间:
在【作业属性—计划】内新建作业计划。
设定作业执行时间。
注:备份文件命名规则:
datebasename+'_'+备份类型+'bak'+'MMDDHHmmss'+'.bak'
压缩文件命名规则:
datebasename+'_'+备份类型+'bak'+'MMDDHHmmss'+'.rar'
异机备份过程:
3.3.1创建异机拷贝可执行文件:
新建文本文档,输入异机备份命令:
步骤一:登陆异机,并拷贝备份数据库到异机上
net use \\\e$\oadatabasebak
world@zhongcheng /user:administrator
copy d:\oa_bak_temp\copyfile\*.rar 拷贝压缩文件到异机存储介质上\\\e$\oadatabasebak
DEL D:\OA_BAK_TEMP\COPYFILE\*.RAR
步骤二:登陆并删除异机存储介质上的过期文件
net use l: \\\e$\oadatabasebak world@zhongcheng /user:administrator 创建盘符
forfiles/p l:\ /s /m *.rar /d -30 /c "cmd /c del /q /f @file
net use l: /delete 删除盘符
输入以上命令后,文件另存为''
3.3.2创建【windows-任务计划】
在【系统工具--任务计划】内添加任务。
定义任务执行时间,选定要执行的'',并设置执行用户名和密码。
4恢复数据库操作过程
恢复数据库准则:
确定数据库需要恢复的原因及时间点确定使用的备份文件,原则为:
1、服务器设备问题,更换硬件设备,则需要最新的手动备份数据库+最新
全备份数据+最新差异备份数据+日志备份。
并选择恢复策略4.3.1进行
恢复。
2、因操作问题出现大量错误数据或大量数据丢失的,由申请部门提起恢复
申请的,确定恢复时间点,选择备份。
并选择恢复策略4.3.2进行恢复。
恢复数据库准备工作:
1、关闭与数据库有关的服务系统,断开中间层和客户端与数据库的链接。
2、拷贝确定的备份文件到服务器上。
恢复策略:
4.3.1完全恢复:
1、分离原有的数据库(如果有)。
2、附加文件类型为.mdf的数据库。
3、用完整备份还原数据库,具体步骤为:
4、用差异备份还原数据库。
4.3.2差异恢复:
1、使用确定的差异备份还原数据库。
具体操作步骤:
4.4.1完整备份还原数据库:
1、企业管理器--右键"数据库"--所有任务--还原数据库。
2、"还原的目标"中输入还原后的数据库名。
3、还原选择"从设备"--选择设备--添加--添加你的备份文件
确定,回到数据库还原的界面。
4、"还原备份集",选择完整备份数据库
5、选择"覆盖现有数据库"
7、"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"
8、确定
sql语句为:
restore database 数据库 from disk='c:\你的完全备份文件名' with
norecovery
4.4.2差异数据库恢复:
1、企业管理器--右键"数据库"--所有任务--还原数据库
2、"还原为数据库库"中选择要恢复的数据库名。
3、还原选择"从设备"--选择设备--添加--添加你的备份文件
4、确定,回到数据库还原的界面
5、"还原备份集",选择"数据库--差异"
6、"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"
7、确定
sql语句为:
restore database 数据库 from disk='c:\你的差异备份文件名' with
norecovery
核查跟踪检测恢复的
数据库。