版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、我们通常在维护数据库的时候,都会建立一个备份的机制,在SQL Server中, 我们就可以通过如下的方法来实现:如果SQL Server代理没有启动,我们先把其启动,然后新建立一个作业, 名称命名为“MyDb全备份,在分类下面选择“数据库维护,然后新建立 作业第一个步骤,步骤名为“对数据进行完全备份,然后在命令框中输入如下 的SQL代码:DECLARE strSql VARCHAR(1000),strSqlCmd VARCHAR(1000),timeDateDiff INTSET timeDateDiff = DATEDIFF(week,0,GETDATE()-1900-01-0T, Here
2、 0 standsfor1900-01-01,SET timeDateDiff = CASE DATEPART(WEEKDAY,GETDATE()WHEN 1 THEN timeDateDiff -1ELSE timeDateDiff ENDSET strSql=D:DataBaseBackDataMyDb_-备份目录及备份的文件头,目录必须存在+CONVERT(CHAR(8),DATEADD(week, timeDateDiff,0),112)-完全备份日期+_0100-完全备份时间+完全备份SET strSqlCmd= strSql+.BAK-备份文件的扩展名BACKUP DATABASE
3、 MyDbTO DISK = strSqlCmd WITH INIT,NOUNLOAD,NAME = NMyDb备份,NOSKIP,STATS = 10,NOFORMAT操作如图一:图一建立作业对数据库进行完全备份然后开始执行对数据库的压缩,在步骤中再新建一个作业,步骤名为“压缩数据 库,然后在命令框中输入如下的SQL代码:DECLARE strSql VARCHAR(1000),strSqlCmd VARCHAR(1000),timeDateDiff INT,strWeekDay VARCHAR(20)SET timeDateDiff= DATEDIFF(week,0,GETDATE()SE
4、T timeDateDiff= CASE DATEPART(WEEKDAY,GETDATE()WHEN 1 THEN timeDateDiff-1ELSE timeDateDiff ENDSET strSql=D:DataBaseBackDataMyDb_-备份目录及备份的文件头+CONVERT(CHAR(8),DATEADD(week,timeDateDiff,0),112)-完全备份日期+_0100-完全备份时间+完全备份SET strWeekDay= CASE DATEPART(WEEKDAY,GETDATE() WHEN 1星HEN WHEN 2 THEN星期一WHEN 3 THEN星
5、期二WHEN 4 THEN星期三WHEN 5 THEN星期四WHEN 6 THEN星期五WHEN 7 THEN星期六ENDSET strSqlCmd= ECHO压缩开始日期: +CONVERT(VARCHAR(20),GETDATE(),120)+strWeekDay+ D:DataBaseBackDataCompressDataBaseMyDb_+CONVERT(CHAR(6),DATEADD(week,timeDateDiff,0),112)+.txtEXEC master.dbo.XP_CMDSHELL strSqlCmd,NO_OUTPUTSET strSqlCmd= RAR.EXE
6、A -R +strSql+.RAR +strSql+.BAK D:DataBaseBackDataCompressDataBaseMyDb_+CONVERT(CHAR(6),DATEADD(week,timeDateDiff,0),112)+.txtPRINT LEN(strSqlCmd)PRINT (strSqlCmd)EXEC master.dbo.XP_CMDSHELL strSqlCmd,NO_OUTPUTSETstrSqlCmd=ECHO压缩日期:+CONVERT(VARCHAR(20),GETDATE(),120)+strWeekDay+ D:DataBaseBackDataCom
7、pressDataBaseMyDb_+CONVERT(CHAR(6),DATEADD(week,timeDateDiff,0),112)+.txtEXEC master.dbo.XP_CMDSHELL strSqlCmd,NO_OUTPUT操作如图二:图二建立作业对数据进行压缩完成后我们可以看到操作步骤的对话框,如图三:蜡性-(local)| 琦定 | 职洎 |图三 数据完全备份的步骤我们对照上图,注意两点,第一个是步骤1“成功时这一列的显示,当成 功的时候转到下一步,“失败时当失败的时候失败后退出,步骤2“成功时 当成功的时候成功后退出,“失败时当失败时失败后退出。确保两个步骤对数 据操作的
8、正常。再执行“调度 一栏,主要实现在什么时候执行这些作业,我们定在每周日 一点的时候开始执行,如图四:图四建立调度这样就可以建立好对数据库的整个完全备份了。有时我们数据在遭到破坏的时候,而在恢复到上次的整个备份时,就会产生 很多丧失的数据了,这时我们就必须还得建立另外一种备份的机制一差异备份。步骤还和上面一样,我们建立一个作业,命名为“MyDt异备份,在步 骤里面同样是建立两个步骤,分别是差异备份和差异压缩,步骤一在命令框中输 入内容如下:DECLARE strSql VARCHAR(1000),strSqlCmd VARCHAR(1000),timeDateDiff INTSET timeD
9、ateDiff = DATEDIFF(week,0,GETDATE()SET timeDateDiff = CASE DATEPART(WEEKDAY,GETDATE()WHEN 1 THEN timeDateDiff -1ELSE timeDateDiff ENDSET strSql=D:DataBaseBackDataMyDb_-备份目录及备份的文件头+CONVERT(CHAR(8),DATEADD(week, timeDateDiff,0),112)-完全备份日期+_0100-完全备份时间+差异备份+_+CONVERT(CHAR(8),GETDATE(),112)-差异备份日期+_030
10、0-差异备份时间SET strSqlCmd= strSql+.BAK-备份文件的扩展名BACKUP DATABASE webEIMS2021TO DISK = cSqlCmd WITH INIT,NOUNLOAD,DIFFERENTIAL,NAME = NMyDb差异备份,NOSKIP,STATS = 10,NOFORMAT我们可以看到,差异备份除了文件名命名格式不一样外,就在备份执行SQL语句时增加了了下DIFFERENTIA!#数,然后再执行。步骤二在命令框中执行如下:DECLARE strSql VARCHAR(1000),strSqlCmd VARCHAR(1000),timeDate
11、Diff INT,strWeekDay VARCHAR(20)SET timeDateDiff= DATEDIFF(week,0,GETDATE()SET timeDateDiff= CASE DATEPART(WEEKDAY,GETDATE()WHEN 1 THEN timeDateDiff-1ELSE timeDateDiff ENDSET strSql=D:DataBaseBackDataMyDb_-备份目录及备份的文件头+CONVERT(CHAR(8),DATEADD(week,timeDateDiff,0),112)-完全备份日期+_0100-完全备份时间+差异备份+_+CONVER
12、T(CHAR(8),GETDATE(),112)-差异备份日期+_0300-差异备份时间SET strWeekDay= CASE DATEPART(WEEKDAY,GETDATE() WHEN 1星HEN WHEN 2 THEN星期一WHEN 3 THEN星期二WHEN 4 THEN星期三WHEN 5 THEN星期四WHEN 6 THEN星期五WHEN 7 THEN星期六ENDSET strSqlCmd= ECHO压缩开始日期:+CONVERT(VARCHAR(20),GETDATE(),120)+ +strWeekDay+ D:DataBaseBackDataCompressDataBase
13、MyDb_+CONVERT(CHAR(6),DATEADD(week,timeDateDiff,0),112)+.txtEXEC master.dbo.XP_CMDSHELL strSqlCmd,NO_OUTPUTSET strSqlCmd= RAR.EXE A -R +strSql+.RAR +strSql+.BAK D:DataBaseBackDataCompressDataBaseMyDb_+CONVERT(CHAR(6),DATEADD(week,timeDateDiff,0),112)+.txtPRINT LEN(strSqlCmd)PRINT (strSqlCmd)EXEC mas
14、ter.dbo.XP_CMDSHELL strSqlCmd,NO_OUTPUTSET strSqlCmd= ECHO压缩结束日期:+CONVERT(VARCHAR(20),GETDATE(),120)+ +strWeekDay+ D:DataBaseBackDataCompressDataBaseMyDb_+CONVERT(CHAR(6),DATEADD(week,timeDateDiff,0),112)+.txtEXEC master.dbo.XP_CMDSHELL strSqlCmd,NO_OUTPUT这时我们已经建立好了步骤,只是现在建立作业调度的时候有些变化,我们 看图五:图五建立差异备份作业调度比照完全备份建立的作业调度,在这里我们可以看到,我们选择的时间是除了周 日以外的每天夜里3点的时候,自动执行此次调度。当然时间是自己灵活分配的,如数据发生的变化比拟大,我们可以选择每天, 然后频率选择发生周期性短一点,这样我们数据在遭到破坏的时候,我们就可以 及时的恢复了。如果在SQL Server2000中,我们可以建立如上的作业就可以对数据进行备 份了,而对丁SQL Server2005,还有一点细微的变化,因为它默认是不支持xp_cmdshell执行命令的,S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江省台州建筑设计院有限公司社会招聘国有企业编制工作人员2人备考题库含答案详解(满分必刷)
- 2026合肥常春藤移动科技有限公司招聘备考题库含答案详解(精练)
- 网络空间治理体系-第5篇
- 2026山东青岛华通金创控股集团有限公司招聘2人备考题库及参考答案详解1套
- 2026年高职(酒店管理综合实训)客户服务标准化实操考核试题及答案
- 2026四川九洲线缆有限责任公司招聘设备技术岗1人备考题库含答案详解(预热题)
- 2026浙江台州市中医院招聘护理编外人员10人备考题库含答案详解(培优)
- 2026四川乐山市卫生健康委员会医学博士人才招引备考题库含答案详解(黄金题型)
- 2026湖南株洲市石峰区云田学校招聘1人备考题库含答案详解(综合卷)
- 2026福建福州市中医院招聘高层次人才11人备考题库及答案详解(易错题)
- 2025年10月自考14475新闻道德与媒介法规.试题及答案
- 深层肌肉刺激仪临床应用
- 2025年充电桩建设与运营项目可行性研究报告及总结分析
- DB51-T 3312-2025 四川省斜坡地质灾害隐患风险详查技术指南
- 电商店铺归属协议书
- 更换工业园彩钢瓦施工方案
- 2025四川蜀道资本控股集团有限公司招聘15人笔试历年参考题库附带答案详解
- 南农《土壤学》课件
- 单色渐变美甲课件
- 印章管理员培训课件
- GB/T 45816-2025道路车辆汽车空调系统用制冷剂系统安全要求
评论
0/150
提交评论