版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工年度考核工作总结参考范本
- 国家宝藏初中观后感
- 新目标九年级英语教学总结
- 2021年大一新生参加军训个人心得体会与感想范文
- 小学西游记作文600字大全
- 移动客服的工作总结-
- 2023物业前台工作计划
- 升学答谢宴致辞集合15篇
- DB45T 2711-2023 艾滋病合并马尔尼菲篮状菌病的筛查与诊疗技术规范
- DB45T 2634.3-2023 道路运输车辆主动安全智能防控系统设计 第3部分:通讯协议要求
- 国企纪检监察培训课件
- 宫腔镜可行性报告
- 预付式消费监管服务平台建设方案
- 2024年应急管理部宣传教育中心招考聘用笔试历年难、易错考点试题后附答案带解析
- 《疯狂动物城》全本台词中英文对照
- 第三小学花样跳绳校本教材(一至六年级通用)
- 手持电动工具操作规程
- 《美容皮肤学》考试复习题库(含答案)
- 七年级数学德育渗透工作总结
- 岗位调动确认书
- 学习活动二运用有效的推理形式(导学案)高二语文(选择性必修上册)
评论
0/150
提交评论