sql server2008 自动备份和自动删除过期bak文件

sql server数据库(11) sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和


sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_02


点击下一步:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_03

自定义名称和说明,点击更改:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_04

点击确定,下一步

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_05


1、备份:

选择备份,下一步,再下一步,选择需要备份的数据库:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_06

选择备份文件存放的路径:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_07

点击下一步,选择系统产生的报告存放的位置:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_08

最后点击下一步,点击完成。

看到这个表示任务已经指定完毕:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_09


2、删除备份文件:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_10

下一步,设置报告存放位置,完成。




作为一名DBA,他们最常见的日常任务是:

1)定期完成数据库的完全备份或差异备份
2)定期清理备份文件,因为存储空间有限,可能只需要保存一个时期段内的文件(比如一周内或一月内)。

而如何做到这两点呢?笔者相信在SQL SERVER2005版本出来之前要实现这种功能,也是可以实现的,只是实现定期清理备份文件显得不那么直接,一般需要手写批处理作业维护,而在SQL Server 2005版本中,这些功能已经被设计成为预制的组件,只需要在数据维护计划中进行拖拽并设置相关属性就可以了,相关步骤如下:

第一步:新建维护计划

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_11

 

图1

在服务器 管理\维护计划鼠标右键点击新建维护计划。   

第二步:设计维护计划

2.1 拖拽 维护计划中的任务工具箱 的“备份数据库任务”到维护计划设计器。

2.2 拖拽 维护计划中的任务工具箱 的“清除历史记录任务”到维护计划设计器。

2.3拖拽 维护计划中的任务工具箱 的“清除维护任务”到维护计划设计器。

如下图所示:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_12

图2

鼠标右键点击编辑 “备份数据库”任务可设置属性,如下图:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_13

图3

本任务将自动完成数据库的完整备份作业。
鼠标右键点击编辑“清除历史记录”任务,如下图:
sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_14

图4

本任务自动完成”清除历史记录”作业。

鼠标右键点击编辑“清除维护”任务,如下图:
sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_15

图5

本任务自动完成清除历史备份文件的作业。

本维护计划任务的作业计划属性设置如下:

sql server2008 自动备份和自动删除过期bak文件_sql server2008 自动备份和_16

图6

本步骤完成了作业属性的设置。系统将按照设置定期运行维护作业。

第三步:保存维护计划

到此,只需要查看日志记录,就可以跟踪本计划的完成情况,根据成功记录与否可以调整和修改本维护计划。

DBA们经常使用的SQL Server 2005最常用的备份维护计划,就是这么简单!

[sql] view plain copy print?

  1. //使用 xp_servicecontrol 启动SQLSERVERAGENT(SqlServer代理)    

  2. EXEC master.dbo.xp_servicecontrol 'start','SQLSERVERAGENT'   

 

自动定期清除数据库日志 

数据库日志文件是随着时间增长而增长的,如果长时间不清理,文件会变得特别大,因此需要定期清空,但是日至文件是恢复数据库的重要依据,不用日志文件也是不明智的。手工清除单个数据库的还好说,但数据库多了,或者临时没有来得及清理,可能硬盘空间就会占满了,影响访问。因此设置自动清理数据库日志文件还是比较实用的。

 

手动清理方法:右键单击需要清理的数据库,选择“属性”,在“选项”卡上,把故障还原模型设定为简单,确定后关闭;再右键单击该数据库,“所有任务”-“收缩数据库”,确认后即可清除日志文件,最后记得重新选择“属性”,将故障还原模型设置为完全。

 

自动清理方法:同样是利用sql server代理服务,执行自动作业。

 

打开企业管理器,进入“管理”-“sql server代理”-“作业”,在右侧窗口点击右键,选择“新建作业”。“常规”选项卡中,填写作业名称,具体描述,注意所有者最好还是用sa或者默认的管理帐号。

 

转到“步骤”选项卡,新建作业步骤,填写步骤名称,类型为脚本,数据库为需要清理日志的数据库,在下边命令中填写以下命令:

 

DUMP  TRANSACTION  数据库名称  WITH  NO_LOG

DBCC  SHRINKFILE(数据库日志文件名,1)

 

上边的数据库名称填写需要维护的数据库名称,数据库日志文件名填写其对应的日志文件名,注意,不是资源管理器里看到的带后缀名的那个名字,而是企业管理器里,数据库属性里日志选项卡中日志的名字(不要带后缀名),确定后添加一个作业步骤。 如果需要维护多个数据库,用上述方法重复添加作业步骤,注意每个步骤成功或失败后的动作即可,最后选择一下开始的步骤。

 

在“计划”选项卡中,类似备份的维护计划,填写计划周期,即定期清理的周期,不再细述。如果需要,可以在最后的“通知”选项卡上设置作业完成后的通知项,需要设置操作员,以及设置相应的服务,这里也不具体说明了,通常不用……