自动定时备份Mssql数据库SQL语句
作者:三味书屋 来源:原创 2021/7/20 10:44:52

本文阐述:使用MS SQL代理的作业实现自动定时备份数据库


1、检查SQLSERVERAGENT代理是否已启动

打开控制面板->服务:查看SQLSERVERAGENT服务是否已启动,保证启动状态。

2、登录MS SQL,右键新建作业

3、新建作业

左边的选择页,共有6个菜单,分别是:常规、步骤、计划、警报、通知、目标

主要填写完常规、步骤和计划即可。

常规:填写作业名称,我填写test

步骤:定义定时执行的SQL语句

计划:定义何时执行


4、点击选择页:步骤-->新建

粘贴SQL语句:

SQL语句:

declare @dir nvarchar(2000),@name nvarchar(100),@cmd nvarchar(2000);
set @dir='F:\dbBackup\';
set @name= convert(char(10),getdate(),21);
set @dir = @dir +@name+ '\';
set @cmd = 'mkdir ' + @dir
exec sp_configure 'show advanced options', 1    --允许配置高级选项
reconfigure --重新配置
exec sp_configure 'xp_cmdshell', 1  --启用xp_cmdshell
reconfigure --重新配置
exec xp_cmdshell @cmd
exec sp_configure 'xp_cmdshell', 0  --执行完成后出于安全考虑可以将xp_cmdshell关闭
    
declare @db nvarchar(2000)
,@last nvarchar(2000),@filename nvarchar(2000)
set @last='_'+@name+'.bak'


set @db='test'
set @filename=@dir+@db+@last
backup database @db to disk=@filename
print '数据库['+@db+']备份为:'+@filename
print ''


此SQL语句首先根据当前年月日在F:\dbBackup\目类下,创建一个文件夹,如2021-07-20,

最后5行语句定义了备份的数据库,如下语句定义备份test数据库。

set @db='test'
set @filename=@dir+@db+@last
backup database @db to disk=@filename
print '数据库['+@db+']备份为:'+@filename
print ''


当有多个数据库时,可在最后增加该5句语句,并更改数据库名称。如下语句将同时备份test,test1数据库:

declare @dir nvarchar(2000),@name nvarchar(100),@cmd nvarchar(2000);
set @dir='F:\dbBackup\';
set @name= convert(char(10),getdate(),21);
set @dir = @dir +@name+ '\';
set @cmd = 'mkdir ' + @dir
exec sp_configure 'show advanced options', 1    --允许配置高级选项
reconfigure --重新配置
exec sp_configure 'xp_cmdshell', 1  --启用xp_cmdshell
reconfigure --重新配置
exec xp_cmdshell @cmd
exec sp_configure 'xp_cmdshell', 0  --执行完成后出于安全考虑可以将xp_cmdshell关闭
    
declare @db nvarchar(2000)
,@last nvarchar(2000),@filename nvarchar(2000)
set @last='_'+@name+'.bak'


set @db='test'
set @filename=@dir+@db+@last
backup database @db to disk=@filename
print '数据库['+@db+']备份为:'+@filename
print ''

set @db='test1'
set @filename=@dir+@db+@last
backup database @db to disk=@filename
print '数据库['+@db+']备份为:'+@filename
print ''
点击:分析,分析语句是否错误


5、点击选择页:计划-->新建,设定本作业何时定时执行


名称:计划的名称,随便写

计划类型:可选重复执行、一次执行、空闲执行等

频率:可选每天、每周、每月

执行频率是每天时,可设置在每天何时执行

执行频率是每周时,可设置在周几执行

时间的设置可以说是非常的强大!

如下我设置的是:每天在凌晨1点执行1次,并且服务器不死,执行不终止!





称      呼:
联系方式:
您的评论:
技术支持:l.w.dong@qq.com www.luweidong.cn
广州市   wx:lwdred
Copyright © 2014 三味书屋 All Rights Reserved
技术支持:l.w.dong@qq.com  sitemap xml  sitemap html

粤公网安备44010602011869号

粤ICP备13031080号-1