MicrosoftSQLServer数据库定时备份(备份计划)的几种方式

 首先,做备份计划钱,先要查看下SQL Server代理是否开启

进入主题

1、备份计划方式1:

1.1新增数据库备份作业:

 

 

 

 

备份脚本:

declare @name varchar(250) 
set @name='F:\ErpDbBackup\ZRErp'+rtrim(convert(varchar,getdate(),112))+'.bak' 
BACKUP DATABASE[ZR_Erp] TO  
DISK=@name 
WITH NOFORMAT, NOINIT,  
NAME = N'ZR_Erp-完整 数据库 备份', 
SKIP, NOREWIND, NOUNLOAD
go

 

 

1.2新增备份数据库删除作业

 

 删除备份脚本(该删除脚本需要用到 xp_cmdshell 函数, 函数的使用是要开启对应设置的,开启的设置在下面有进行讲解,如果不想开启,可以使用备份计划方式2中的删除脚本):

 --删除15天前备份文件 
declare @cmd varchar(60)
set @cmd='del F:\ErpDbBackup\ZRErp'+rtrim(convert(varchar,getdate()-15,112))+'.bak' 
exec xp_cmdshell @cmd
go

 

ps:xp_cmdshell 函数如果无法正常调用,可以用尝试一下办法处理:

通过查询分析器,选择Master数据库,然后执行以下SQL内容:

sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go

也可以不通过代码启动,通过“功能的外围应用配置器“开启

 

 

 

1.3管理计划:查看计划中对应是否正常

 

 

 2、备份计划方式2:基本步骤和方式1一样,只是删除数据库的脚本有变(由于SQL版本的问题,会导致该脚本无法使用,在这种情况下,还是建议用方式1的方法来进行制作备案计划)

2.1新增数据库备份作业:(同备份计划方式1一样)

2.2新增备份数据库删除作业(同备份计划方式1一样,脚本不同,如下所示)

删除备份脚本:

----只保留3天内的备份数据---
DECLARE @OLDDATE DATETIME
SELECT @OLDDATE=GETDATE()-3
EXECUTE master.dbo.xp_delete_file 0,N'D:\BACKUP',N'bak',@olddate

 2.3管理计划:(同备份计划方式1一样)

posted @ 2018-11-09 17:36  豆腐配酱油  阅读(1221)  评论(0编辑  收藏  举报