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服务为自动启动状态,否则得话是不能够自动执行的。
- sqlserver怎么调成混合登录(如何快速删掉SQL Server登录时登录名下拉列表框中的选项)
- sql server入门教程(SQL Server AlwaysOn读写分离配置图文教程)
- SQL SERVER中Merge语句的用法
- sql数据库安装概要(详解将DataGrip连接到MS SQL Server的方法)
- sql server设置自增(sql server建表时设置ID字段自增的简单方法)
- sql server中cxpacket等待
- sql server中check约束
- sqlserver序列可以自定义(sql server 自定义分割月功能详解及实现代码)
- sqlserver数据库备份怎么还原(SQL Server2012数据库备份和还原的教程)
- sql数据库语言的两种使用方式(通过使用正确的search arguments来提高SQL Server数据库的性能)
- sql中row的用法(sql server数据库中raiserror函数用法的详细介绍)
- SQL Server中查看未释放的游标
- sqlserver 存储过程参数类型(详解SQL Server表和索引存储结构)
- 查看SQL SERVER指定数据库中所有的触发器
- SQL SERVER中与内存相关的计数器
- sql server 分布式事务(Sql Server事务语法及使用方法实例分析)
- 九儿《狐踪谍影》出演热血女特警,戏份杀青受关注(九儿狐踪谍影出演热血女特警)
- 红色代表什么(红色代表什么寓意)
- 蓝天代表什么(蓝天代表什么生肖)
- 今天要吃什么(今天要吃什么菜)
- 营养餐是什么(学校营养餐是什么)
- 谁说女子不如男 范冰冰演的武则天只是其一,另外两位你认识吗(谁说女子不如男)
热门推荐
- 搭建ftp服务器操作步骤(浅谈FTP服务器架设的两种方法)
- sqlserver限制windows身份登录(解决sql server 数据库,sa用户被锁定的问题)
- c#中list排序
- nodejs怎么查看对象的全部属性(浅谈nodejs中创建cluster)
- docker前端项目(Docker部署Nuxt.js项目的实现)
- 深入理解mysql索引(MySQL中冗余和重复索引的区别说明)
- hive入门零基础教程(手把手教你在腾讯云上搭建hive3.1.2的方法)
- python类中的数据封装(基于python生成器封装的协程类)
- sqlserver中的存盘按钮在哪(SQL Server 2016里的sys.dm_exec_input_buffer的问题)
- jquery如何实现倒计时
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9