MSsql每天自动备份数据库并每天自动清除log的脚本

MSsql每天自动备份数据库并每天自动清除log的脚本,第1张

1、每日自动备份

打开企业管理器,进入“管理”-“数据库维护计划”,在右侧窗口点击右键,选择“新建维护计划”,启动“数据库维护计划向导”点击“下一步”选择需要维护的数据库,维护特性数据库时,选择最后一个单选框并勾选需要维护的数据库名称“下一步”选择更新数据优化信息、“下一步”检查数据库完整性、“下一步”指定数据库备份计划、“下一步”指定备份存放位置、“下一步”指定事务日志备份计划、“下一步”指定报表,“下一步”指定历史纪录维护,最后设定维护作业名称通常来说,如果只需要备份数据库文件,则只需要指定备份计划以及存放位置即可,其他项目不做改动。

在指定备份计划时候,由于需要每日备份,因此要更改调度。点击“更改”编辑调度。发生频率选择每天每日频率选择作业开始时间,最好选择数据库访问量小时进行,多为半夜时间,可根据流量图确定具体时间持续时间通常不用做改动,开始日期为编辑日期,无结束日期。

编辑好上述维护计划后,还要注意下

sql

server代理服务是否启动了,因为每日调度维护计划是要启动这个服务才能执行的。如果该服务没有启动,需要手动启动一下,这是可以在其子项“作业”中看到刚刚添加过的数据库维护计划。

2、定期自动清理数据库日志文件

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

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

自动清理方法:同样是利用sql

server代理服务,执行自动作业。

打开企业管理器,进入“管理”-“sql

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

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

DUMP

TRANSACTION

数据库名称

WITH

NO_LOG

DBCC

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

上边的数据库名称填写需要维护的数据库名称,数据库日志文件名填写其对应的日志文件名,注意,不是资源管理器里看到的带后缀名的那个名字,而是企业管理器里,数据库属性里日志选项卡中日志的名字(通常也只是差一个后缀名……),确定后添加一个作业步骤。

如果需要维护多个数据库,用上述方法重复添加作业步骤,注意每个步骤成功或失败后的动作即可,最后选择一下开始的步骤。

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

这个要看你是什么数据库了,Oracle数据库一般会用rman自带的数据库备份功能,该工具可以设置数据库备份的保留份数,备份前后可以进行检测,然后自动删除过期的备份。如果你手动删除了备份,在脚本检测时,也会打上一个缺失的标记,对于后期计算归档的量有一定的影响。

建议,如果要删,就使用数据库自己的功能来删,手动删备份,特别是备份中的归档,可能会造成一些不可预见的问题。例如:如果保留策略是7天,工作到第8天,就会删除第一天的内容,如果你手动删除了中间的一段,那备份的连续性就破坏了,如果后来发现第5天有个误 *** 作需要恢复,那你从第一天的全备就无法推演到第5天了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9891449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存