1. 建立数据库备份的文件存放路径,如:E:BackUp
2. 建立备份文件的存储过程BackupDB
每天0:00做一个完整备份,然后每过若干小时做一次差异备份,如果数据库比较小则一天生成一个文件就可以了,即完整备份的bak文件与差异备份的文件就是同一个文件。而如果数据库比较大则建议每次差异备份时生成一个独立的文件。脚本如下(以下为每天生成一个文件,如果是第二种情况则需要做相应修改):
/*********
PROC :BackupDB
USE:back up database
CREATE BY:user
CREATE Date:2011-08-01
EXAM:exec BackupDB
**********/
CREATE PROC BackupDB
AS
BEGIN
DECLARE @SQL NVARCHAR(4000)
IF CONVERT(CHAR(5),GETDATE(),108)='00:00'
BEGIN
SET @SQL='BACKUP DATABASE [TEST] TO DISK = N' +''''+'E:/Backup/TEST/TEST'
+ CONVERT(CHAR(8),GETDATE(),112)+'.bak'
+''''+'WITH NOFORMAT, NOINIT, NAME = N' +''''+'TEST-FullBackup'
+''''+', SKIP, NOREWIND, NOUNLOAD, STATS = 10'
END
ELSE
BEGIN
SET @SQL='BACKUP DATABASE [TEST] TO DISK = N' +''''+'E:/Backup/TEST/TEST'
+ CONVERT(CHAR(8),GETDATE(),112)+'.bak'
+''''+'WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'
+''''+'TEST-' +CONVERT(CHAR(5),GETDATE(),108)
+''''+', SKIP, NOREWIND, NOUNLOAD, STATS = 10'
END
EXEC(@SQL)
END
3. 建立自动备份的Job(作业)
3.1选择【对象资源管理器】-->【Sql Server代理】-->【作业】,单击鼠标右键,在弹出的菜单中选择【新建作业(N)…】,在常规选项里面的名称输入作业名称,此处输入“AutoBackDBName”
3.2选择【步骤】,点击【新建(N)…】,弹出【作业步骤属性】对话框,在步骤名称里面输入“AutoBackup”,数据库选择你要备份的数据库,例如TEST,在命令里面输入:EXEC BackupDB ,然后点击【确定】
3.3选择【计划】,点击【新建(N)…】,弹出【作业计划属性】对话框,在名称里面输入“EveryDay”,在计划类型里面选择“重复执行”,并且把【已启用】前面的钩选中。
3.4在频率的执行里面选择“每天”,【执行间隔】设为“1”天。在每天频率的设置如下:开始时间:0:00:00, 结束时间:23:59:59.
执行间隔自己设定一个时间就可以了,例如2小时。
持续时间选择【无结束日期】,然后点击【确定】。
3.5其他几个选择是次要的可以不设置,最后点击【确定】。
这样的话就可以了,另外需要把Sql Server Agent服务设为“自动”。
SqlServer2005数据库自动备份
最新推荐文章于 2016-11-24 10:34:00 发布