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实时同步更新远程数据库遇到的问题小结)
- sqlserver两表查询语句格式(sql server实现在多个数据库间快速查询某个表信息的方法)
- sqlserver查看某个库所有表(SQL Server怎么找出一个表包含的页信息Page)
- sqlserver使用说明(SQL Server视图的讲解)
- sqlserver字符串截取填充(SQL Server实现split函数分割字符串功能及用法示例)
- SQL Server中使用order by charindex按指定顺序排序
- SQL Server 数据库自动备份
- Sql Server profiler 分析器的理解
- SQL Server中时间类型的范围
- Sql Server事件探查器的作用
- sqlserver基本知识(sql server学习基础之内存初探)
- SQL Server中GROUPING SETS
- sql server 函数参数表(SQL Server 实现数字辅助表实例代码)
- sqlserver技术文档(sql server2016里面的json功能浅析)
- sql数据库安装概要(详解将DataGrip连接到MS SQL Server的方法)
- sql server语法大全(SQL Server 全文搜索功能介绍)
- 冬天来了手脚冰凉 真不是因为上辈子你是折翼的天使(冬天来了手脚冰凉)
- 0 1 岁婴儿最强作息指南,照着做养出天使宝宝(01岁婴儿最强作息指南)
- 沪上这16所高校 萌新 礼包开箱 哪一款让你心动(沪上这16所高校萌新)
- 她救了被绑架的他,而这一切竟是一场阴谋...(她救了被绑架的他)
- 冬季养殖这6种阴生植物,方便又好养,你家有么(冬季养殖这6种阴生植物)
- 阴生植物为什么不怕照不到阳光(阴生植物为什么不怕照不到阳光)
热门推荐
- 腾讯云linux服务器登录(腾讯云服务器Linux系统怎么挂载磁盘?)
- mysql主键为什么用varchar(Mysql中varchar类型一些需要注意的地方)
- IIS8.0安装配置完整图文教程 IIS8.0的Web Server asp设置(IIS8.0安装配置完整图文教程 IIS8.0的Web Server asp设置)
- pythonfor循环如何遍历嵌套列表(在Python中,不用while和for循环遍历列表的实例)
- reactnative零基础入门到项目实战(用React Native制作一个简单的游戏引擎)
- mysql获取当前日期时间(MySQL DATEDIFF函数获取两个日期的时间间隔的方法)
- gzip指令配置参数用法(Gzip在apache2中的设置和squid对它的处理)
- extjs tabPanel的用法
- dede MD5加密解密(DEDECMS的20位MD5加密密文解密示例介绍)
- css3盒子布局(CSS3弹性伸缩布局之box布局)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9