SQL-Serve14-数据库的备份和恢复.ppt
文本预览下载声明
* 数据库备份概述 (1)完整备份: 实验2:通过命令行进行完全数据备份实验 backup database school to backup_file1 with noinit backup database school to backup_file2 with init --请反复执行这两句话,那么我们可以很快从磁盘文件的空间变化中发现init和no init的区别: --可见,init由于重新建立磁盘备份,因此文件并没有增长;而由于noinit是追加备份,因此磁盘文件增长非常明显。当然,我们也可以不需要使用磁盘备份文件,而通过直接指定磁盘路径的方式实现对数据库文件进行备份。 BACKUP DATABASE school TO DISK=D:\ Mydiffbackup.bak * 数据库备份概述 (2)差异备份: 实验1:通过命令行进行差异数据备份实验 BACKUP DATABASE school TO DISK=D:\school_back.bak WITH DIFFERENTIAL --或者 backup database school to backup_file2 WITH DIFFERENTIAL * 数据库备份方式 (2)差异备份: 实验2:在管理平台中进行差异数据备份实验 打开备份向导。在“备份数据库”窗口中,选择备份类型为“差异”。在备份的目标中,指定备份到的磁盘文件位置(本例中为C:\back\school.bak文件),如图所示。然后单击“确定”按钮。备份完成后,可以找到C:\back\school.bak文件。差异备份文件要比完全备份文件小得多,因为它仅备份自上次完整备份后更改过的数据。 * 数据库备份概述 (3)日志文件备份: 执行日志文件备份的前提和基本条件是要求一个完全数据备份,备份日志文件的语法形式是: BACKUP LOG { database_name | @database_name_var } {TO backup_device [ ,...n ]?[ WITH [ , ] { INIT | NOINIT } ][ [ , ] NO_TRUNCATE| TRUNCATE_ONLY ]} 该命令中的基本参数的意义是: 1、NO_LOG 选项 (1)无须备份复制日志,即删除不活动的日志部分,并且截断日志。该选项会释放空间。因为并不保存日志备份,所以没有必要指定备份设备。 (2)NO_LOG 和TRUNCATE_ONLY 是同义的,使用NO_LOG 或TRUNCATE_ONLY 备份日志后,记录在日志中的更改不可恢复。 (3)为了恢复数据库的准确性,在执行日志文件应用该参数命令的同时,请立即执行BACKUP DATABASE命令,进行完全数据备份工作,以防止数据的意外丢失。 * 数据库备份概述 (3)日志文件备份: 该命令中的基本参数的意义是: 2、 NO-TRUNCATE 选项 (1)当数据库文件被损坏或者丢失,应该使用NO-TRUNCATE选项备份事务日志; (2)该选项可以完全备份所有数据库的最新活动信息。执行后MSSQL将进行下面的活动: 保存整个事务日志,即使无法访问数据库。 不清理已提交事务日志的事务。 可以将数据库恢复到系统出现故障的时刻。 使用TRUNCATE-ONLY选项,或者NO_LOG选项,一般在以下情况发生: 事务日志已满,清理日志文件。 需要截断事务日志。 * 数据库备份概述 (3)日志文件备份: 该命令中的基本参数的意义是: 2、 NO-TRUNCATE 选项 (3)该参数是只能够与BACKUP LOG命令一起使用的; (4)该参数使用的意义是,指定不截断日志,并使数据库引擎尝试执行备份,而不考虑数据库的状态。 (5)使用 NO_TRUNCATE 执行的备份可能具有不完整的元数据。该选项允许在数据库损坏时备份日志。实质上,当数据库遭受严重损坏后,该命令是最后的解决办法,即无论怎样都现将发生的任何操作信息先备份到日志中,尝试进行后期尽可能的还原工作。 * 数据库备份概述 (3)日志文件备份: 实验1:在管理平台中进行日志文件备份实验 打开备份向导。在“备份数据库”窗口中,选择备份类型为“事务日志”。在备份的目标中,指定备份到的磁盘文件位置(本例中为c:\back\backup_log.bak文件),如图所示。然后单击“确定”按钮。备份完成后,可以找到c:\back\backup_log.bak文件。 * 数据库备份概述 (3)日志文件备份: 实验2:通过命令行进行日志文件备份实验 --备份事务日志,追加到现有日志文件 backup log school to disk=d:
显示全部