SQL Server 数据库自动备份
SQL Server 数据库自动备份
SQL Server 数据库自动备份设置数据库自动备份我们可以选择两种方式:
1、使用作业代理服务;
2、使用SSMS对象里面的维护计划。
一、通过代理作业设置自动备份数据库
1、观察"对象资源管理器"中的"SQL Server代理"
如果没有启动,则右击"SQL Server代理"—>"启动",启动SQL SERVER代理。
2、使用SQL Server Management Studio打开服务器,选择“SQL Server代理”-》“作业”,右键选择“新建作业”
3、在“新建作业”窗口中,选择“常规”页,设置作业名称。其他属性默认
4、选择“步骤”页,点击“新建”,设置作业步骤
输入步骤名称,类型选择“Transact-SQL脚本(T-SQL)”,选择要备份的数据库,在命令属性中输入如下代码:
DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '-')
set @strPath = ' D:\BACKUP \' +'DB_Bak' +@strPath + '.bak'
BACKUP DATABASE test1 TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
注意:D:\BACKUP \表示备份文件的存放目录,DB_Bak表示备份文件以DB_Bak开头。备份文件的格式为“DB_Bakyyyy-mm-dd hh-mi-ss.bak”。
在步骤属性的高级的“成功时要执行的操作”选择“转到下一步”即可,这样“备份当日数据”的步骤已经建立好
5、备份数据的第二个步骤 ------“删除旧有备份”
我们可以设置只保留5天内的备份数据,那么必须删除5天前的数据备份文件。在“备份数据”作业属性窗口的步骤栏目里,建立第二个步骤命名为“删除旧有备份”。同样类型为“T-SQL”,命令窗口里填入一下SQL语句:
DECLARE @OLDDATE DATETIME
SELECT @OLDDATE=GETDATE()-5
EXECUTE master.dbo.xp_delete_file 0,N’D:\BACKUP’,N’bak’,@olddate
此命令会删除“D:\BACKUP”里5天前的.BAK或.TRN格式的文件,不用指定文件名是什么。
因为SQL SERVER的备份文件里包含了时间属性在里面。在步骤属性的高级的“成功时要执行的操作”选择“退出报告成功的作业”即可,这样第二个步骤已经建立好。
6、备份数据作业属性的计划栏目里,设置作业的执行时间
选择执行的周期,例如每天凌晨1点开始执行。
7、检查自动备份结果
在“SQL Server代理”-》“作业”下,可看到新建的作业。选中作业,右键选择“开始工作步骤”可以检验一下,如果成功,则数据备份与自动删除计划成功完成。
二、使用SSMS对象里面的维护计划
1、观察"对象资源管理器"中的"SQL Server代理"
如果没有启动,则右击"SQL Server代理"—>"启动",启动SQL SERVER代理。
2、在“维护计划”上右击,选择“新建维护计划”,然后输入一个名称,这里我们输入默认名称“MaintenancePlan”,然后确定。然后再工具栏中,在“常规”标签中,将“备份数据库任务”拖到设计窗体中,如图示:
3、在设计界面的“备份数据库任务”上双击,然后再弹出的对话框中,设置各种属性:
4、设置完成后,点击确定即可。然后再计划任务中,点击右端的日历小图标,进行自动触发时间设置:
5、然后会出现弹出框,在弹出框中,我们进行如下设置:
6、我们设置为 每晚 22:38触发,然后点击确定,最后点击“ctrl+s”进行保存,就会发现,在维护计划中和sqlServer代理的作业中,会生成两个名称分别为:
MaintenancePlan和MaintenancePlan.Subplan_1的任务计划。添加成功!
三、需要记住的地方
1、你的备份文件的保存路径,已经要存在,数据库是不会给你自动创建路径的,否则会备份失败!
2、就是如果你设置了重复执行本任务计划,那么你一定要让sqlagent服务为自动启动状态,否则得话是不能够自动执行的。
- Sql Server判断函数、存储过程等是否存在
- sql中row的用法(sql server数据库中raiserror函数用法的详细介绍)
- SQL Server变量
- sqlserver基础查询语句(SQL Server子查询的深入理解)
- sqlserver两表查询语句格式(sql server实现在多个数据库间快速查询某个表信息的方法)
- sql server 进阶(SqlServer AS的用法)
- SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法(SQL Server免费版的安装以及使用SQL Server Management StudioSSMS连接数据库的图文方法)
- sql server数据库权限(SQL Server中通用数据库角色权限的处理详解)
- sqlserverdatetime时区(解析SQL Server中datetimeset转换datetime类型问题)
- sql server 2019 资源不足不可信(SQL Server异常代码处理的深入讲解)
- sqlserver表空间占用率(SQL Server获取磁盘空间使用情况)
- sql数据拆分插入另一个表(Sql Server数据把列根据指定内容拆分数据的方法实例)
- sql server语法大全(Sql Server的一些知识点定义总结)
- SQL Server 2008中的时间数据类型
- sqlserver分组查询(sql server如何利用开窗函数over进行分组统计)
- 2021-10-28 10:49:05
- 天空是什么颜色(天空是什么颜色的英语)
- 高马尾扎发(高马尾扎发教程视频)
- 这里输入关键词(请手动输入关键词)
- 小说 顾瑾岚拿出一套飞行棋,别说你连飞行棋都不会哦(顾瑾岚拿出一套飞行棋)
- 金品公司 界界乐中秋限定飞行棋礼盒 露营藤篮礼盒全新上市(界界乐中秋限定飞行棋礼盒)
- 必看 8月,相比七夕,更需要注意的是这些事(必看8月相比七夕)
热门推荐
- mysql索引的弊端(MySQL 全文索引的原理与缺陷)
- php 日志监控(php日志函数error_log用法实例分析)
- springboot内置tomcat启动过程(Tomcat启动springboot项目war包报错:启动子级时出错的问题)
- pythonyield使用场景(Yii框架核心组件类实例详解)
- linux怎么设置php代码(linux Cron定时执行带参数的PHP代码)
- sqlserver追加主键(sqlserver主键自增的实现示例)
- sqlserver栏位说明(SQL Server重置IDENTITY属性种子值操作)
- yii框架使用教程(Yii框架连表查询操作示例)
- jquery图片轮播代码
- python 怎么解析中文(Python中一般处理中文的几种方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9