SqlServer2005数据库自动备份

来源:互联网 发布:matlab 纹理合成算法 编辑:程序博客网 时间:2024/06/11 17:38

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服务设为“自动”。

原创粉丝点击