完整备份和差异备份数据库的SQL脚本

 

工作中需要创建SQL Job对数据库进行定期备份,现把脚本记录如下。

1. 完整备份:

复制代码
-- FULL
declare @filename    varchar(1024),
        @file_dev    varchar(300)

declare @path        varchar(1024)
set     @path = N'F:\Backup\Plan2\';

declare @extension_name varchar(16)
set     @extension_name = N'bak';

set @filename = convert(varchar(1024), getdate(), 120)
set @filename = replace(@filename, ':', '')
set @filename = replace(@filename, '-', '')
set @filename = replace(@filename, ' ', '')

set @filename = @filename + '_' + convert (varchar(3), datepart(ms, getdate())) + N'.' + @extension_name

-- start backup, COMPRESSION is the parameter
set @file_dev = @path + 'SmartDev_Full_' + @filename
backup database [SmartDev] to disk = @file_dev 
with noformat, init,  name = N'SmartDev-Database full backup', COMPRESSION

-- delete the old backup file 1 days ago
declare @olddate datetime
select @olddate=getdate()-1

-- execute delete
select @path
select @extension_name
select @olddate
execute master.dbo.xp_delete_file 0, @path, @extension_name, @olddate, 1
go
复制代码

 

2. 差异备份:

复制代码
-- Differential
declare @filename    varchar(1024),
        @file_dev    varchar(300)

declare @path        varchar(1024)
set     @path = N'F:\Backup\Plan2\';

declare @extension_name varchar(16)
set     @extension_name = N'bak';

set @filename = convert(varchar(1024), getdate(), 120)
set @filename = replace(@filename, ':', '')
set @filename = replace(@filename, '-', '')
set @filename = replace(@filename, ' ', '')

set @filename = @filename + '_' + convert (varchar(3), datepart(ms, getdate())) + N'.' + @extension_name

-- start backup, COMPRESSION is the parameter
set @file_dev = @path + 'SmartDev_Differential_' + @filename
backup database [SmartDev] to disk = @file_dev 
with differential, noformat, init,  name = N'SmartDev-Database Differential backup'

go
复制代码

 

以上两段可以分别创建两个SQL Job,比如完整备份的作业可以定在每周天凌晨运行,执行成功后删掉之前的备份文件(代码中有删除的语句),差异备份的作业定在周一到周六每天凌晨运行

转载于:https://www.cnblogs.com/ai594ai/p/8042171.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值