SQL SERVER2005自动备份 2012.3.29

要想在 SQL2005上进行数据库的自动备份必须把sql server的SQL Server Agent服务开启,否则是无法进行自动备份的

 

                  

启动完成之后,用户可以直接在“管理”下面的“维护计划”选项来新建计划然后一步一步的完成数据库的自动备份

               

 

图片

上面是微软提供的一套数据库系统自带的数据库备份方法,虽然好用,但是局限性比较大。

下面来进入今天的正题用户自定义数据库备份

1、首先,也是新建维护计划,然后再出现的界面中选择【“执行T-SQL语句”任务】,拖动到中间的界面中

 

图片

双击上图中的长方形,出现【“执行T-SQL语句”任务】窗体,然后把已经写好的T-SQL语句拷贝到中间的文本区域,点击确定,

 

图片

 

然后在设置维护计划,维护计划分为两步,

第一步删除备份文件,

 

图片

 

第二步删除历史记录

图片

 

以上搞定完成之后,下面开始设置作业执行计划

 

图片

设置完成之后,数据库自动备份就OK了(注意这里要想让自动一直运行,必须把SQL Server Agent服务设置为“自动启动”)

以上是完整备份的步骤,差异备份和日志备份同完整备份的步骤没有什么区别只是T-SQL语句有所不同,下面我贴出完整的T-SQL语句供大家参考

/*******************完整备份作业*******************/ --完整备份,每周一次 USE Master GO DECLARE @str NVARCHAR(100) DECLARE @dateTime NVARCHAR(20) SET @dateTime=CONVERT(VARCHAR(50), GETDATE(), 112)+REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','') SET @str = 'D:\PV_FULL_' + @dateTime + '.bak' BACKUP DATABASE [DEMODB] TO DISK=@str WITH NAME=N'pv完整备份' GO

 

/*******************差异备份作业*******************/ --截断日志 USE Master GO BACKUP LOG [DEMODB]  WITH NO_LOG GO --收缩日志文件 USE Demo GO DBCC SHRINKFILE (N'Demo_log',0,TRUNCATEONLY) GO --差异备份,每天一次 USE Master GO declare @str varchar(100) DECLARE @dateTime NVARCHAR(20) SET @dateTime=CONVERT(VARCHAR(50), GETDATE(), 112)+REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','') SET @str = 'D:\PV_DIFF_' + @dateTime + '.bak' BACKUP DATABASE [DEMODB] TO DISK=@str WITH DIFFERENTIAL, NAME=N'PV差异备份' GO

 

/******************日志备份作业*******************/ --日志备份,每小时一次 USE [backup] GO declare @str varchar(100) DECLARE @dateTime NVARCHAR(20) SET @dateTime=CONVERT(VARCHAR(50), GETDATE(), 112)+REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','') set @str='D:\PV_Log_'+@dateTime+'.trn' BACKUP LOG [DEMODB] TO DISK=@str WITH NAME=N'PV日志备份' GO

 

 

 

 

posted @ 2013-11-20 21:50  苦逼IT男  阅读(182)  评论(0编辑  收藏  举报