
1、完全备份
这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一周做一次完全备份。
2、事务日志备份
事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。
3、差异备份
也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。
4、文件备份
数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用。
数据库备份重要性
尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性。
数据库的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况。此外,数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果。
mysql备份:
mysqldump -u username -p dbname > BackupNamesql
mysql恢复:
mysql -u root -p dbname < BackupNamesql
所以你可以写个shell脚本,脚本中执行mysql备份命令,然后把shell脚本加入crontab定时任务中就可以完成每天自动备份数据库了。
方法/步骤 1 在根目录下新建定时备份存储文件夹mkdir /mysql_backup 2新建备份的脚本vim /root/mysql_backupsh 3在mysql_backupsh中输入内容: backupdir=/mysqlbackup time=
mysql备份:
mysqldump -u username -p dbname > BackupNamesql
mysql恢复:
mysql -u root -p dbname < BackupNamesql
所以你可以写个shell脚本,脚本中执行mysql备份命令,然后把shell脚本加入crontab定时任务中就可以完成每天自动备份数据库了。
1、每日自动备份
打开企业管理器,进入“管理”-“数据库维护计划”,在右侧窗口点击右键,选择“新建维护计划”,启动“数据库维护计划向导”;点击“下一步”选择需要维护的数据库,维护特性数据库时,选择最后一个单选框并勾选需要维护的数据库名称;“下一步”选择更新数据优化信息、“下一步”检查数据库完整性、“下一步”指定数据库备份计划、“下一步”指定备份存放位置、“下一步”指定事务日志备份计划、“下一步”指定报表,“下一步”指定历史纪录维护,最后设定维护作业名称;通常来说,如果只需要备份数据库文件,则只需要指定备份计划以及存放位置即可,其他项目不做改动。
在指定备份计划时候,由于需要每日备份,因此要更改调度。点击“更改”编辑调度。发生频率选择每天;每日频率选择作业开始时间,最好选择数据库访问量小时进行,多为半夜时间,可根据流量图确定具体时间;持续时间通常不用做改动,开始日期为编辑日期,无结束日期。
编辑好上述维护计划后,还要注意下
sql
server代理服务是否启动了,因为每日调度维护计划是要启动这个服务才能执行的。如果该服务没有启动,需要手动启动一下,这是可以在其子项“作业”中看到刚刚添加过的数据库维护计划。
2、定期自动清理数据库日志文件
数据库日志文件是随着时间增长而增长的,如果长时间不清理,文件会变得特别大,因此需要定期清空,但是日至文件是恢复数据库的重要依据,不用日志文件也是不明智的。手工清除单个数据库的还好说,但数据库多了,或者临时没有来得及清理,可能硬盘空间就会占满了,影响访问。因此设置自动清理数据库日志文件还是比较实用的。
手动清理方法:右键单击需要清理的数据库,选择“属性”,在“选项”卡上,把故障还原模型设定为简单,确定后关闭;再右键单击该数据库,“所有任务”-“收缩数据库”,确认后即可清除日志文件,最后记得重新选择“属性”,将故障还原模型设置为完全。
自动清理方法:同样是利用sql
server代理服务,执行自动作业。
打开企业管理器,进入“管理”-“sql
server代理服务”-“作业”,在右侧窗口点击右键,选择“新建作业”。“常规”选项卡中,填写作业名称,具体描述,注意所有者最好还是用sa或者默认的管理帐号。
转到“步骤”选项卡,新建作业步骤,填写步骤名称,类型为脚本,数据库为需要清理日志的数据库,在下边命令中填写以下命令:
DUMP
TRANSACTION
数据库名称
WITH
NO_LOG
DBCC
SHRINKFILE(数据库日志文件名,1)
上边的数据库名称填写需要维护的数据库名称,数据库日志文件名填写其对应的日志文件名,注意,不是资源管理器里看到的带后缀名的那个名字,而是企业管理器里,数据库属性里日志选项卡中日志的名字(通常也只是差一个后缀名……),确定后添加一个作业步骤。
如果需要维护多个数据库,用上述方法重复添加作业步骤,注意每个步骤成功或失败后的动作即可,最后选择一下开始的步骤。
在“调度”选项卡中,类似备份的维护计划,填写调度周期,即定期清理的周期,不再细述。如果需要,可以在最后的“通知”选项卡上设置作业完成后的通知项,需要设置 *** 作员,以及设置相应的服务,这里也不具体说明了,通常不用……
用企业管理器中自带的维护计划功能
可以设置每天几点备份 建立两个维护计划。
也可以隔多长时间备份一次。 但是设置的那台机器必须开机并且SQL Agent 这个服务器开启着
自动备份:
打开企业管理器,点击数据库,然后点击上方的工具-数据库维护计划器,
如何设置SQL数据库自动备份
1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器,选择 所要备份的数据库
2、然后点上面菜单中的工具-->选择数据库维护计划器
3、下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->下一步检查数据完整性,也一般不选择
4、下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择每天备份后点确定
5、 下一步指定备份的磁盘目录,选择指定目录,如您可以在D盘新建一个目录如:d:\databak,然后在这里选择使用此目录,然后选择删除早于多少天前的备份,一般设定4-7天,备份文件扩展名默认的是BAK
6、下一步指定事务日志备份计划,默认-->下一步要生成的报表,一般不做选择-->下一步维护计划历史记录,最好用默认的选项-->下一步完成
7、完成后系统很可能会提示Sql Server Agent服务未启动,先点确定完成计划设定,然后找到桌面最右边状态栏中的SQL绿色图标,双击点开,在服务中选择Sql Server Agent,然后点击运行箭头,选上下方的当启动OS时自动启动服务
1、建议每小时做一次
增量备份
。这个看备份时对服务器的压力,若增量备份很快完成,可以缩短为半个小时,或者更短。增量备份方式备份数据量小
2、每天做一次全备份。全备份是必须的,但全备份速度
较
增量备份
慢。
基本上就可以满足你得要求
首先需要编写一个批处理文件,用于实现数据库的备份功能,可以命名为BAT(后缀名修改为 BAT): @echo off color 0b mode con cols=80 lines=25 echo 正在备份数据库,请稍后�1�76�1�77�1�76�1�77 echo -------------------------------------- echo 指定数据库用户(在“=”后面写入你需要备份的数据库登 录用户名) set yh=information echo 指定数据库密码(在“=”后面写入你需要备份的数据库登 录密码) set mm=information echo 指定数据库服务名(在“=”后面写入你需要备份的数据库 服务名) set fwm=CS echo 指定备份目录(指定备份的文件夹,以“\”结束) set ml=e:\lkdata\ echo ---------------------------------------------- echo 开始计算日期和时间,用于备份文件的名称(由于是自动备 份,备份的文件名我们定义为数据库登录名+系统时间—精确到 秒) set hh=%time:~0,2% echo 如果小时是一位的,那么在前面补零 if /i %hh% LSS 10 (set hh=0%time:~1,1%) set rq=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2% set sj=%hh%%TIME:~3,2%%TIME:~6,2% set wjm=%yh%%rq%%sj% echo ---------------------------------------------- echo 请核对以下数据是否正确 echo 用户名:%yh% echo 密码:%mm% echo 服务名:%fwm% echo 备份目录:%ml% echo 备份文件名:%wjm% echo ---------------------------------------------- echo 开始备份数据库 echo --------------------------------------------- exp %yh%/%mm%@%fwm% file=%ml%%wjm%dmp log=%ml%%wjm%log owner=%yh% echo 数据库备份完成 echo ---------------------------------------------- 以上就是我们自动备份的代码,其中echo 后面的文本都是说明文 字,大家可以删除,将以上代码复制到文本文件,重命名为BAT (尽量不要把备份文件放在桌面或者系统盘下,避免系统损坏以 后丢失备份文件),保存以后,我们可以双击执行,当执行完成以 后,在备份目录下会备份文件,如下图 1、 自动备份实现 以上我们已经实现了数据库的备份脚本,那么如何实现自动定时 备份呢?这就要利用WINDOW *** 作系统提供的计划任务功能了, 我们通过开始---控制面板,打开控制面板,双击执行计划任务 打开计划任务功能,然后双击添加计划任务打开计划任务向导,点击下一步 选择浏览,找到我们在第二步建立的备份脚本文件,点击打开, 进入下一步 在这一步我们输入备份计划的名称,方便以后区分,同时选择备 份的频率,这里以一天为准 在这一步需要输入每天备份启动的时间(这根据每一个项目来自 行设定,建议将备份放在数据库 *** 作较少的时段),一般建议在中 午考试空闲时段。 在这一步需要输入登录 *** 作系统的用户和密码,如系统默认的用 户 Administrator 没有设置密码,可以另外建立一个带密码的用 户。 确认以上 *** 作无误后,点击完成 这样我们就可以在计划任务列表中看到当前的计划任务 以上我们就实现了ORACLE数据库的自动备份功能,当然,如果 有数据库需要多个时间段备份,我们只需要重复上面的 *** 作即可。 二:设置自动删除以前的备份。 我们实现了ORACLE 数据库的自动备份功能,但每次备份都会创 建一个新备份文件,一定时间后占用的硬盘空间将非常大,还需 要创建批处理文件,用于实现删除之前的备份文件功能,粘贴如 下代码到文本文档中,重新命名为BAT(后缀名修改为BAT): del e:\lkdata\ 删除指定备份目录下所有备份文件,这里的待删除备份文件地址 要和之前的备份目录地址对应,然后添加计划任务让其定时运行, 建议清理计划运行的时间以1 周2 次的频率为佳,该计划运行的时间 在备份计划之间 1 个小时之前,这样就能达到先删除之前旧备份,1 个小时后自动新的备份建立。
以上就是关于数据库备份有几种方式以及各自有什么特点全部的内容,包括:数据库备份有几种方式以及各自有什么特点、如何使用crontab每天自动备份Mysql数据库、如何在Linux下每天定时备份MySQL数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)