SQL SERVER 使用作业自动备份及删除过往备份
通过编写SQL脚本,可创建SQL SERVER 数据库的作业将数据库备份到本地或网络共享路径,将备份文件名按日期格式命名,还可根据日期的特点删除特定日期的备份从而达到删除过往备份的功能。本文通过一个实现实例,希望能给大家一个参考。
1.打开 控制台根目录->管理->SQL Server代理->作业
2.在这里“新建作业”
3.在“常规”页面,输入作业“名称”,分类选择“数据库维护”,选择“所有者”,描述自定
4.在“步骤”页面, “新建步骤”,输入“步骤名”,选择分类“Transact-SQL脚本”并选择你想要创建作
业的数据库,在“命令”输入如下语句:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure'xp_cmdshell',1
GO
RECONFIGURE
GO
declare @sql1 varchar(4000)
declare @sql2 varchar(4000)
declare @backupfile1 varchar(2000)
declare @backupfile2 varchar(2000)
declare @retaindays int
declare @Store varchar(2000)
declare @IPPart varchar(2000)
declare @str varchar(100),@dir1 varchar(100),@dir2 varchar(100),@bakfile1 varchar(30),@bakfile2 varchar(30)set @Store='his'--数据库名set @IPPart='\\192.147.160.202\backup\'--路径(异地服务器的共享目录,此目录要有有上面用户的访问读写权限)
set @retaindays=6 --要保留备份的天数----特别
--EXEC sp_configure 'show advanced options', 1
-- GO
--RECONFIGURE WITH OVERRIDE
--GO--创建映射
exec master..xp_cmdshell 'net use \\192.147.160.202\backup "xxxxxx" /user:QZ-VeeamBK\administrator'--开始备份set @backupfile1='D:\his_bak\'+@Store+ '_bak_'+ replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.BAK'
set @backupfile2= @IPPart+@Store+ + '_bak_'+ replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.BAK' set @sql1='backup database '+@Store +' to disk='''+@backupfile1+''' with retaindays='+convert(varchar(10),@retaindays)
exec (@sql1)
set @sql2='backup database '+@Store +' to disk='''+@backupfile2+''' with retaindays='+convert(varchar(10),@retaindays)
exec (@sql2) --自动删除备份文件
set @dir1='del D:\his_bak\'
set @bakfile1=left(replace(replace(replace(convert(varchar,getdate()-@retaindays,20),'-',''),' ',''),':',''),10)+'*.BAK'
set @str=@dir1 + @Store + '_bak_' + @bakfile1
exec xp_cmdshell @str
set @dir2='del \\192.147.160.202\backup\'
set @bakfile2=left(replace(replace(replace(convert(varchar,getdate()-@retaindays,20),'-',''),' ',''),':',''),10)+'*.BAK'
set @str=@dir2 + @Store + '_bak_' + @bakfile2
exec xp_cmdshell @str--删除映射
--exec master..xp_cmdshell 'net use /delete' --关闭允许执行xp_cmdshell
EXEC sp_configure'xp_cmdshell',0
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'show advanced options', 0
GO
RECONFIGURE WITH OVERRIDE
GO
5.转到“调度”页面,“新建调度”,输入“名称”,选择“调度类型”,这个随你发挥,我在项目中使用反
复出现(因为要定期备份嘛)。
6.到这基本完成一个简单的作业了。然后回到“SQL Server代理”右键“启动”,并启动你所建立的作业。
SQL SERVER 使用作业自动备份及删除过往备份相关推荐
- sql 查询超时已过期_监视来自SQL Server代理作业的查询超时过期消息
sql 查询超时已过期 SQL Server provides you with a good solution to automate a lot of your administrative ta ...
- SQL Server 使用作业设置定时任务之一
公司有一个老项目由于直接把终端拍摄的图片以二进制的形式保存到数据库中,数据库比较大所以需要经常删除这些冗余数据,手动删除费时费力,组长让我把这些操作变成自动的,每天执行一次,只保留最近两个月的图片数据 ...
- 使用SQL Server 2005作业设置定时任务
公司有一个老项目由于直接把终端拍摄的图片以二进制的形式保存到数据库中,数据库比较大所以需要经常删除这些冗余数据,手动删除费时费力,项目组长让我把这些操作变成自动的,每天执行一次,只保留最近两个月的图片 ...
- SQL Server数据库设置自动备份策略
一. 简单介绍 SQL Server自带的维护计划是一个非常有用的维护工具,能够完成大部分的数据库的维护任务. 数据库的备份也是日常工作中非常重要的一个环节.备份的方法非常的多. 今天给大家介绍最简单 ...
- sql server数据库定时自动备份
对于服务器数据的备份是比较麻烦的事情,如果每天或者经常要手工去备份自然是很痛苦的事情.这里我介绍一种通过sql server的作业调度来建立自动备份的方法: 1.进入企业管理器中->管理-> ...
- 关于SQL Server 2005 的自动远程数据库备份
关于SQL Server 2005 的自动远程数据库备份 原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的 ...
- 讲解SQL Server定时作业job的设置方法
如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理->SQL Server代理->作业来实现. ◆1.管理->SQL ...
- sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段
在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...
- sql server 按照日期自动生成单据编号的函数
一.sql server 按照日期自动生成单据编号的函数,格式为##08080001,##表示打头的单据字符,然后是年月和流水编号. 二.传入的参数为单据的打头字符和生成单据的日期 三.一般的调用格式 ...
最新文章
- 数论基础--洛谷P1072 Hankson 的趣味题
- 独家 | 全面!手把手教你决策树可视化(附链接代码)
- java复杂吗_java – 是哈希一个合适的解决方案吗?我过度复杂吗?
- 分库分表就能无限扩容吗,解释得太好了!
- 【cocostudio】发布资源在Cocos2d-x中如何使用
- 【C语言】二维数组遍历的3种方式
- hammer用法 jquery.hammer.js
- 用了python之后笔记本卡了_应用
- MySQL可不可以直接定义程序_mysql8 参考手册-定义存储程序
- Package fontspec Error: The font “SimHei“ cannot be found. windows 上海交大学位论文模板
- Centos 8 Linux 安装 微信(WeChat)
- 走进“开源SDR实验室” 一起玩转GNU Radio:LimeSDR Source/Sink模块
- PWM占空比和分辨率
- 小红书话题笔记是什么意思?小红书话题的形式有哪些?
- go语言negroni包介绍
- QT中文字体的显示方法
- 编译原理拉链回填技术c语言,编译原理笔记1:概述编译相关的基本知识
- where online services go when they dieMichael Doi
- linux三台机器互相免密登录
- MyBatis用接口的方式实现CRUD操作
热门文章
- 2020蓝桥杯省赛Java B组一等奖
- 赫容俏:为现代人的健康保驾护航
- java日历控件开源_6种Google日历的开源替代方案
- N多大学图书馆,里面可以找到N多密码
- opencv模板匹配相同位置去除重复的框
- 钩子函数-建立键盘鼠标动作记录与回放
- 全球及中国低耗能冰箱行业发展趋向分析及投资竞争力分析报告2022-2027年
- ONES 收购 Tower,五源资本合伙人对话两位创始人
- 诺顿定理,叠加原理,齐性定理,最大功率传输与电阻网络
- php水印文字方向,css中关于writing-mode属性文字书写方向以及兼容写法详解(图)...