码迷,mamicode.com
首页 > 数据库 > 详细

MS SQL Server 定时任务实现自动备份

时间:2018-09-20 11:27:37      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:add   精简   定时任务   open   监控   真心   定时   data   serve   

SQL Server Express 版本是没有SQL 代理服务的,从而导致不能使用SQL Server的定时自动备份功能。真心感觉这就是一个坑,虽然Express是学习的版本,但是精简的也太多了。另外一点不能忍受的是居然没有SQL Profile 监控执行语句数据功能,[手动cry]

好了,来说一下如果你使用了Express,如何进行SQL Server 的自动备份吧:

①方法就是:SQL备份数据库语句  +  windows 定时任务计划

②目录结构为:

技术分享图片

③DBBacUp.bat  备份的脚本

技术分享图片
set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
set PathDir="C:\数据库备份"
set "filename= %PathDir%\%YYYYmmdd%.log"

echo Start BackUp,Time: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >>%filename%

sqlcmd -S . -i C:\Users\JuanFei\Desktop\DBBackup.sql >>%filename%

echo. >>%filename%
View Code

   DeleteTask.bat  删除7天前的,冗余备份,防止备份数据过多,占用空间

技术分享图片
:: 删除7天以前的备份记录
set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2%
set PathDir="C:\数据库备份"

set "filename= %PathDir%\%YYYYmmdd%.log"

echo Start Delete,Time: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% >>%filename%
forfiles /p %PathDir% /m *.bak /d -7 /c "cmd /c del /f @path"
forfiles /p %PathDir% /m *.log /d -7 /c "cmd /c del /f @path"

echo. >>%filename%
View Code

DBBackup.sql   重点:备份的SQL语句

技术分享图片
GO 
DECLARE @backupTime VARCHAR(20)
DECLARE @fileName VARCHAR(1000)  

SELECT @backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), :, ‘‘))  

SELECT @fileName=c:\数据库备份\PX_Traceability_+@backupTime+.bak
backup database PX_Traceability to disk=@fileName with INIT,COMPRESSION
View Code

 

④使用windows任务计划创建定时任务

参考地址:https://jingyan.baidu.com/article/154b463130041128ca8f41c7.html

网上教程很多,就不赘述了,如果有不懂得,可以评论提问联系我

 

MS SQL Server 定时任务实现自动备份

标签:add   精简   定时任务   open   监控   真心   定时   data   serve   

原文地址:https://www.cnblogs.com/lijuanfei/p/9678757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!