启动完成之后,用户可以直接在“管理”下面的“维护计划”选项来新建计划然后一步一步的完成数据库的自动备份
上面是微软提供的一套数据库系统自带的数据库备份方法,虽然好用,但是局限性比较大。
下面来进入今天的正题用户自定义数据库备份
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