SQL2005自动定时备份数据库并按日期命名

SQL2005的维护计划里面自带了备份数据库任务,但不会自动按日期命名,不方便,下面的方法是以存储过程来解决的。
要用SQL2005的维护计划功能首先要确认SQL Server Agent服务是在启动状态,然后打开SQL Server Management Studio,展开对象资源管理器里的“管理”,右击维护计划选择新建维护计划,为维护计划命名,如:TestDB_Backup,选择默认的子计划“Subplan_1 ”并点击上方的子计划设置按钮来设置子计划执行方式和时间:


SQL2005自动定时备份数据库并按日期命名

出现设置界面,设置每天3点执行一次,如图

SQL2005自动定时备份数据库并按日期命名

确定后保存一下,然后新建一个查询页,开始创建存储过程,代码如下:

USE [TestDB] 
GO 
SET ANSI_NULLS ON
GO 
SET QUOTED_IDENTIFIER ON
GO 
CREATE PROCEDURE [BackupDatabase](@FolderPath varchar(500)) 
as
DECLARE @FullPath varchar(1000) 
set @FullPath = @FolderPath+ 'TestDB_'+convert(VARCHAR(4),year(getdate()))+right( '0'+convert(VARCHAR(2),MONTH(getdate())),2)+right('0'+convert(VARCHAR(2),DAY(getdate())),2)+ '.bak'
backup database [TestDB] to disk=@FullPath WITH INIT 
return

设置完毕,切换回维护计划设置页面,在左边的工具箱中拖入一个“执行T-SQL语句任务”:
SQL2005自动定时备份数据库并按日期命名

双击拖入后的“执行T-SQL语句任务”,输入执行存储过程的语句来完成每天的自动备份工作,代码如下:

use [TestDB] 
exec BackupDatabase 'E:\SqlData\TestDB\'


确定后保存该维护计划即可。为了保证该维护计划不会出现问题,可以先执行一下以上语句测试一下。

你可能感兴趣的:(sql,sql,工作,server,ITeye,Go)