SQL Server 2005使用作业实现定时备份任务和删除指定天数前的备份文件

时间:2022-04-05 05:16:31

http://www.cnblogs.com/zhouchaoyi/archive/2011/06/26/2090961.html


封装存储过程下载:添加作业-数据库定时自动备份.rar

步骤如下:
1.需要启动服务Sql Server Agent(sql server 代理)
2.新建作业,名称为backupDatabase
3.选择步骤,点击“新建”,输入步骤名称,选择需要备份的数据库,然后再命令中写上: 

SQL Server 2005使用作业实现定时备份任务和删除指定天数前的备份文件
declare @data_ago nvarchar(50) 
declare @cmd varchar(50) 

set @data_ago ='D:\bak\'+'backupname'+convert(char(8),getdate()-15,112) +'.bak' 
set @cmd = 'del '+ @data_ago 
exec master..xp_cmdshell @cmd 

DECLARE @strPath NVARCHAR(200) 
set @strPath = 'D:\bak\' + 'backupname'+ convert(char(8),getdate(),112) + '.bak' 
BACKUP DATABASE [databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT 
SQL Server 2005使用作业实现定时备份任务和删除指定天数前的备份文件
   
说明:databasename是备份的数据库名称;backupname是备份时文件名称 
4.选择计划,点击“新建”,输入计划的名称,根据自己的需要选择频率,每天频率等。 
SQL Server 2005 中引入的 xp_cmdshell 选项是服务器配置选项,使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程。默认情况下,xp_cmdshell 选项在新安装的软件上处于禁用状态,但是可以通过使用外围应用配置器工具或运行 sp_configure 系统存储过程来启用它,如下示例所示: 
1、打开外围应用配置器:勾选启用xp_cmdshell 
2、运行 sp_configure 系统存储过程来启用,代码如下 
 
EXEC sp_configure 'show advanced options', 1  GO      RECONFIGURE   
GO   
 EXEC sp_configure 'xp_cmdshell', 1  GO      RECONFIGURE  
GO