软件等级:
更新时间:2016-11-11
版本号:v5.7.10
MySQL Server x64官方正式版免费下载
SQL Server备份策略 SQL Server 使用脚本来备份 数据库备份策略虽然server 是有数据库备份工具来备份,但是不能自定义备份,比如我们备份后还要把备份的数据库copy到另一台server,等等以及我们想做的一些事情。
这时我们就可以用脚本来实现备份机制,下面简单的介绍一下备份策略吧。
1.硬件的支持
1.在一个完整的应用系统中需要准备3台服务器来做容灾和系统的性能,简单来介绍一下为什么需要3台。
1.>第一台不用想就是我们给用户当前用的,第二就是我们随时待命的,如果life 挂了马上顶上去,第三就是历史数据。
说到这里怎么去关联这三台服务呢?
就是通过计划任务通过脚本来之执行的。
有了硬件的支持,那我们的想一下执行备份的计划。
2.备份的计划
1.完整备份:每周一个完整备份。
2.差异备份:每天一个差异备份。
3.日志备份:每小时一个差异备份。
有了硬件也计划,我们就来谈一下怎么关联了。
3.系统关联
1.我们把每周的完整备份Copy到待命服务里去还原(用脚本来实现),还有差异备份,最后到放到凌晨。同时设为只读状态。这样我们的待命服务器就跟当前服务器就支持从凌晨到现在的数据库。那么一旦发生意外,我们就只要恢复从凌晨到现在的日志就可以马上可以用了。
2.当前跟历史的关联,每天备份不再使用的数据库到历史库,这样就可以减少当前数据库的压力。
4.主要代码
1.完整备份,和拷贝文件到待命服务器(standy) ,差异备份一样只是在备份语句加上with init,differential
Declare @FULLFileName varchar(200)
Declare @FileFlag varchar(200)
Set @FileFlag=''20''+convert(char(6),getdate(),12)
Set @FULLFileName=''D:\SQLDataB\DB_FULL''+@FileFlag+''.BAK''
BackUp DataBase DBName To Disk=@FULLFileName with init
Go
//删除就文件
Declare @BKFileName varchar(200)
Declare @FileFlag varchar(8)
Declare @SQLStr varchar(300)
Set @FileFlag=''20''+convert(char(6),getdate()-14,12)
Set @BkFileName=''\\172.16.1.1\d$\BACKUP\DB_FULL''+@FileFlag+''.BAK''
Set @SQLStr=''Del ''+@BKFileName
Print @SQLStr
Execute Master..xp_cmdshell @SQLStr
Go
--Copy backup file to remote server
Declare @BKFileName varchar(200)
Declare @DestFileName varchar(200)
Declare @FileFlag varchar(8)
Declare @SQLStr varchar(300)
Set @FileFlag=''20''+convert(char(6),getdate(),12)
Set @BkFileName=''D:\SQLDataBK\DB_FULL''+@FileFlag+''.BAK''
Set @DestFileName=''\\172.16.1.1\d$\BACKUP\WIN\''
Set @SQLStr=''copy ''+@BKFileName+'' ''+@DestFileName
--Set @SQLStr=''d:\robocopy D:\SQLDataBK\ ''+@DestFileName+'' DB_FULL''+@FileFlag+''.BAK /TBD /R:200 /COPY:DAT /Z''
Print @SQLStr
Execute Master..xp_cmdshell @SQLStr
2.还原的方式跟备份时逆进程,这里就不说了
本技术文档属于www.6down.net 专有,如要转载请附上来源于www.6down.net ,请尊重个人成果。
有困难可以联系我,主页有我的QQ
……