情景9 truncate的数据如何恢复数据库的备份与恢复
创建实施备份和恢复计划是数据库管理员最重要的职责之一。数据库在使用的过程中,可能会出现各种原因引起数据丢失或损坏等故障。如果没有一个可靠的备份和恢复计划,将无法在上述情况下恢复它们,数据将丢失殆尽。
任务1:掌握数据库的备份与还原
备份是数据库管理员定期地将整个数据库复制到磁盘或者磁带上并保存起来的过程。这些保存起来的数据是数据库的副本。当数据库遭到破坏后,可以用备份的数据进行数据库恢复。备份是恢复的基础,恢复是备份的目的。
进行数据库备份及其事务日志的日常备份对于维护数据库系统是非常重要的。数据库中数据的保存,是个日积月累的过程。而数据库的破坏和数据丢失则却可能在瞬间完成。因此,应该在意外发生之前做好充分的准备工作,以便在以外发生之后有相应的措施能快速地恢复数据库的运行,并使丢失的数据量减少到最小。
此外,数据库备份和恢复还可以用作其他用途。例如,要在不同服务器之间复制数据,只需将
某个服务器上的数据备份后恢复到另一个服务器上。这样就可以又快又方便地完成数据复制。
9.1数据的备份策略
在进行数据库备份之前,需要对备份内容、备份频率、备份设备和备份类型进行设计。
1) 备份内容
备份的内容分为3种,分别是数据库、事务日志和文件。
数据库分为系统数据库和用户数据库。系统数据库指记录了系统配置参数、用户数据库信息的master、msdb和model等数据库。一般情况下,tempdb数据库不需要备份。用户数据库存储了用户的业务数据,因此对用户而言,用户数据库的备份时最重要的。
事务日志记录了用户对数据库的各种操作,是进行事务故障恢复和系统故障恢复的重要资料。相对数据库备份而言,事务日志备份需要时间较短,但恢复时间较长。
文件时指数据库中的某个特定数据文件,用户可以选择性地进行备份。相对前两种备份而言,
文件备份速度最快最直接,恢复也非常方便。
2) 备份频率
备份的频率取决于修改数据库的频繁程度,以及一旦出现意外丢失的工作量大小和意外发生的可能性大小。一般情况下,数据库的检索操作频繁时,系统数据库和用户数据库的备份频率较低。数据库的更新操作频繁时,系统数据库和用户数据库的备份频率较高。
3) 备份设备
在进行数据库备份之前,首先要创建备份设备。当建立一个备份设备时,要给该备份设备分配一个逻辑备份名和一个物理备份名,物理备份名是操作系统识别该设备所使用的名称,逻辑备份名是物理备份设备名的一个别名,保存在SQL Server的系统表中。例如一个物理备份名为“D:\medical\backup\medical_bk.bak”,使用逻辑备份名可以缩写为medical_bk。数据库备份设备包括磁盘、磁带和命名管道。
◆ 磁盘备份设备
磁盘备份设备一般是硬盘或其他磁盘类存储介质上的文件,可以与普通的操作系统文件一样进行管理。磁盘备份设备可以定义在数据库服务器的本地磁盘上,也可以定义在通过网络连接的远程磁盘上。如果是网络设备,则需要一个UNC(Universal Naming Convention,通用命名约定)名字。例如:\\Servername\Sharename\Path\File。
◆ 磁带设备
使用磁带备份设备时,必须有磁带物理地安装到SQL Server实例的计算机上。磁带设备不支持远程设备备份。
◆ 命名管道设备
命名管道备份设备为使用第三方的备份软件和设备提供了一个灵活、强大的通道。当用户使用命名管道设备进行备份和恢复的操作时,需要在BACKUP或RESTORE语句中给出客户端应用程序中使用的命名管道名字。
4) 备份类型
SQL Server2008提供了4种备份类型。
完整数据库备份
完整数据库备份就是备份整个数据库。它备份数据库文件、这些文件的地址以及事务日志的某些部分。这是任何备份策略中都要求完成的第一种备份类型,因为其他所有备份类型都依赖于完整数据库备份。换句话说,如果没有执行完整数据库备份,就无法执行差异数据库备份和事务日期备份。
以下情况应采用完整数据库备份 :
数据库较小
数据库具有很少的数据修改操作或是只读数据库时
如果采用完整数据库备份则要定期清除事务日志
差异数据库备份
差异数据库备份是指将从最近一次完整数据库备份以后发生改变的数据开始记录。如果在完整备份后将某个文件添加到数据库,则下一个差异备份会包括该新文件。这样可以方便地备
份数据库,而无需了解各个文件。相比完整数据库备份,差异数据库备份占用的磁盘空间小,而且备份速度快,因此可以经常地备份,以降低丢失数据的危险。
使用差异备份策略的场合:
数据库频繁修改
需要进行最小化备份时
事务日志备份
尽管事务日志备份依赖于完整备份,但它并不备份数据库本身。这种类型的备份只记录事务日志的适当部分,确切的说,是自上一个事务以来已经发生了变化的部分。事务日志备份比完整数据库备份更节省时间和空间,而且利用事务日志进行恢复时,可以指定恢复到某一个事务,比如可以将其恢复到某个破坏性操作执行的前一个事务,这是完整备份和差异备份所不能做到的。但是与完整数据库备份和差异备份相比,用事务日志备份恢复数据库要花费较长的时间,这是因为事务日志备份仅仅存放日志信息,恢复时需要按照日志重新插入、修改或者删除数据。因此,通常情况下,事务日志备份经常与完整备份和差异备份结合使用,比
如,每周进行一次事务完整备份,每天进行一次差异备份,每小时进行一次事务日志备份。这样最多只会丢失一个小时的数据。
文件和文件组备份
当一个数据库很大时,对整个数据库进行备份可能会花很多时间,这时就可以采用文件和文件组备份,即对数据库中的部分文件或者文件组进行备份。文件组备份是一种将数据库存放在多个文件上的方法,并允许控制数据库对象存储到这些文件当中的哪些文件上。这样,数据库就不会受到只存储在单个硬盘上的限制,而是可以分散到许多硬盘上。利用文件组备份,每次可以备份这些文件当中的一个或者多个文件,而不是备份整个数据库。
使用文件或文件组备份策略的场合:
超大型数据库
完整备份时间太长
9.2数据的备份与还原方法
数据库可以备份到磁盘中或创建好的备份设备中。要备份到磁盘上,只需在备份的时候选取备份数据存储的磁盘位置即可;要备份到备份设备中,需要先在SQL Server2008中创建备份设备。
1.创建备份设备
在SQL Server2008中,创建备份设备的方法有两种:一是在SQL Server Management Studio中使用现有命令和功能,通过方便的图形化工具创建,二是通过使用系统存储过程sp_addumpdevice创建。下面介绍这两种创建备份设备的方法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论