SQL Serever学习12——数据库的备份和还原

 

公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了之后再也不出现相似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低。sql

数据的导出和导入

数据转换服务

数据转换服务DTS(Data Transmission Service)提供数据传送功能,能够经过交互操做从不一样的数据源中导入数据,数据的来源特性能够用于查询数据的导入时间,地点以及运算方法。数据库

数据的导入和导出是以相同格式读写数据,从文本或者oracle书库中导入数据到sqlserver,DTS也能够将sqlserver数据导出到一个ODBC数据源或者Excel表。服务器

数据转换数据源类型

使用数据转换服务导入与导出,能够链接到如下数据源:oracle

  • 大多数OLE DB和ODBC数据源
  • 文本文件
  • 一个或多个sqlserver实例
  • oracle,informix,Access,FoxPro数据库
  • Excel工做表格

销售管理数据库数据的导出和导入

 

 

注意:这个Excel文件须要提早创建的,不然没选项工具

 

 

能够预览导出的数据sqlserver

 

而后去对应的目录打开Excel文件操作系统

 

导出的效果如图设计

 

 

导出查询语句的数据

 

若是须要导出的数据并非一个对象,而是须要从数据表检索的数据,可使用查询语句来规定导出数据的范围日志

基本步骤和上面同样orm

 

 

导入数据

导入外部Excel的步骤和导出的步骤相似,只是个别设置正好相反

将Excel中买家工做表导入销售管理数据库的买家表

 

这里能够先预览一下导入的数据

注意:这里若是导入的Excel若是有空行,因为主键是惟一的,可能会报错(主键ID为空格)

 

 

数据导入进去了

 

数据库的备份和还原

 因为理论知识太多,不如先来一个实际操做感觉一下数据库的备份

销售管理数据库备份

公司的平常运行状况为早上8点营业,中午11点30休息,下午13点30营业,晚上8点下班,一般天天晚上5点到8点为销售比较集中的时间。

根据这个状况,能够分析出,数据库天天的首次运行时间应该是早上8点,结束的时间是在晚上8点,因此天天晚上下班后应该对数据库进行一次完整备份,而且每进行一次完整备份后,上次的备份文件就不须要保存了。

在天天的运行过程当中,11点30分会有一次休息状况,此时应该进行一次差别备份,全部的备份都备份到指定的备份设置中。

依据分析,制定备份方案:当即完成一次完成备份,而后执行每晚8点进行一次完整备份,并删除上次备份,最后天天中午11点30进行一次差别备份。

建立备份设备

 

指定设备名称和备份的地址

 

销售管理的完整备份

 

 

设置源数据

 

 设置备份集信息

根据要求,天天晚上8点都会进行一次完整备份,前一天的备份就不须要了,备份过时时间应该是1天,因此这里选择晚于按钮,设置1天

 

目标信息

 

确认备份

 

备份计划制定

普通数据库人工操做能够,可是若是天天晚上8点都进行一次完整备份,既不方便也很难保证,因此,经过sqlserver中的维护计划功能完成。

 

将工具栏的“备份数据库任务”拖动到右边的任务窗口

 

双击红叉,打开“备份数据库任务”窗口

备份类型选完整

 

 

数据库选择“销售管理”

 

备份过时时间设置为晚于1天

 

 而后肯定

 

也能够先点击“查看T-SQL”查看sql

 

 计划制定

打开做业计划属性

完成,保存便可。

 

差别备份

接下来是天天中午11点30的差别备份,步骤相似

肯定,保存

 

还原数据库

 选择须要还原的数据库,右键,任务,还原,选择数据库

 

数据库备份机制

数据库故障类型

数据库故障类型能够归为5种:

  • 事务故障,事务执行到最后没有正常提交,有的能够经过事务程序自己发现,有的是非预期的,事务程序不能处理。
  • 系统故障,操做系统故障,CPU故障,DBMS代码错误,忽然停电,这是内存内容,尤为是缓冲区内容丢失,可是存储在外存的数据未受影响。
  • 介质故障,磁盘损坏,磁头碰撞,瞬时磁场干扰,虽然发生可能性最小,可是破坏性最大,数据没法恢复。
  • 计算机病毒,一些恶意人为编制的计算机程序破坏。
  • 用户操做错误,用户有意无心的删除数据库中有用数据或加入错误数据

数据库备份类型

sqlserver备份方式有4种:

  • 完整备份,备份整个数据库,包括用户表,系统表等,还有事务日志,须要较大空间,备份时间长。
  • 差别备份,是完整备份的补充(须要先还原完整备份),比完整备份小,速度快,所以能够常用。
  • 事务日志备份,备份事务日志内容,可使用事务日志备份将数据库还原到故障点,可是必须先还原完整备份,而后依次还原每一个事务日志备份。
  • 文件和文件组备份,备份某些文件,能够分屡次来备份数据库,避免大型数据备份的时间过长,当数据库文件很是大,采用这个备份颇有效。当数据库文件损坏,能够只还原被损坏的文件或文件组,从而加快了还原速度。

设计备份策略

sqlserver中能够将数据库备份到磁盘或者磁带,备份到磁盘有2种方式:

  • 文件方式
  • 备份设备方式

2种方式都体现为文件形式

 备份数据库主要考虑:

  • 备份时间
  • 时间间隔
  • 备份方式
  • 备份地方

若是数据库中数据变更比较频繁,可使用3种备份方式交替使用。

好比,天天下班时作一次完整备份,在作完完整备份以前每隔8小时作一次差别备份,作完2次差别备份之间每隔1小时作一次事务日志备份。

这样,一旦数据库发生损坏,能够将数据还原到最近1小时之内的状态,同时又能减小数据库备份数据的时间和减小备份数据库文件的大小。

备份设备

数据库系统中专门用来存储备份数据的物理设备,经常使用的设备包括磁盘备份设备,磁带备份设备,命名管道备份设备

其中磁盘备份设备是最经常使用的。他的物理名称是备份地址和文件名的组合,如“D:\backup\back20180826.bak”,他的逻辑名称存储在sqlserver的sysdevices系统表中,如销售管理备份20180826.

数据库还原方式

大体有4种:

  1. 完整备份还原
    1. 不管是作完整备份还原,差别备份还原,事务日志还原,第一步都是作完整备份还原。
  2. 差别备份还原
    1. 完整备份还原以后,还原最后一次作的差别备份。
  3. 事务日志备份还原
    1. 这个比较复杂,例如某个数据库在每周日作一次完整备份,天天晚上21点作一次差别备份,在白天每3小时作一次事务日志备份。
    2. 假设在周五早上8点发生故障,那么还原的步骤是:
      1. 还原周日的完整备份
      2. 还原周四晚上21点作的差别备份
      3. 依次还原差别备份以后的事务日志备份,就是周四晚上24点,周五早上3点,周五早上6点所做的事务日志备份
  4. 文件和文件组备份还原
    1. 若是数据库某个文件损坏了,可使用该还原模式
    2. 注意,还原以前查看数据使用状态,若是有其余人在使用,则没法还原数据库。

还原模式设置

还原模式分为3种:

简单模式,能够将数据库还原到上一次备份,由于没有日志备份,只能还原到最近备份数据库的时间,而不能还原到特定的时间点。

完整模式,保留了事务日志,没有还原到故障点。

大容量日志模式,记录大多数大容量操做,完整记录其余事务,一般做为完整还原模式的补充。

 

ok,数据库备份的原理就说到这里。

相关文章
相关标签/搜索