备份压缩
数据库执行备份操作,需要占用一定的磁盘空间。如果公司的数据库非常庞大,那么对数据库的备份就需要的空间将会十分惊人。通常,数据压缩总是和节约硬盘、更小的物理文件、备份次数的减少联系在一起。而对于SQL Server 2008 的数据压缩而言,主要的目的是实际的表的尺寸的减小。数据压缩的某些好处包括以下几点:
l 通过减少I/O 和提高缓存命中率来提升查询性能
l 提供对真实DW 实际数据2 倍到7 倍的压缩比率
l 和其他特点是正交的
l 对数据和索引都可用
在SQL Server 2008 中,默认情况下不对备份进行压缩,如果需要的话,就可以进行具体的配置,启用备份压缩功能。
(1).在服务器上配置备份压缩
在数据库引擎服务器上,可以对默认的备份压缩功能进行修改,具体的步骤如下所示:
--1、打开SQLServer Management Studio 工具,连接服务器。
--2、右击【服务器】,在弹出的命令菜单中选择【属性】,打开【服务器属性】窗口。
--3、单击【数据库设置】选项,在【数据库设置】页面启用【压缩备份】复选框。
(2)、在备份数据库时启用备份压缩功能
除了在服务器上进行配置之外,还可以在用户备份数据库的时候,选择“压缩备份”选项当然使用BACKUP语句的WITH COMPRESSION 选项,也可以实现压缩备份的功能,
DEMO:在创建数据库【demo_db】的完整备份时候启用压缩备份功能,代码如下:
BACKUP DATABASE demo-db
TO DISK='考勤系统'
WITH INIT,COMPRESSION
数据恢复
恢复数据库,就是让数据库根据备份的数据回到备份时的状态。当恢复数据库时,SQLServer会自动将备份文件中的数据全部拷贝到数据库,并回滚任何未完成的事务,以保证数据库中的数据的完整性。
常规恢复
恢复数据前,管理员应当断开准备恢复的数据库和客户端应用程序之间的一切连接,此时,所有用户都不允许访问该数据库,并且执行恢复操作的管理员也必须更改数据库连接到master 或其他数据库,否则不能启动恢复进程。在执行任何恢复操作前,用户要对事务日志进行备份,这样有助于保证数据的完整性。如果用户在恢复之前不备份事务日志,那么用户将丢失从最近一次数据库备份到数据库脱
机之间的数据更新。
使用SQL Server Management Studio 工具恢复数据库:
--1、打开SQLServer Management Studio 工具,连接服务器。
--2、在对象资源管理器中,展开【数据库】节点,右击【demo_db】数据库,在弹出的命令菜单中选择【任务】|【还原】|【数据库】命令,打开【还原数据库】窗口。
--3、在【还原数据库】窗口中选中【源设备】单选按钮,然后单击弹出一个【指定备份】对话框,在【备份媒体】选项中选择【备份设备】选项,然后单击【添加】按钮,选择之前创建的“考勤系统”备份设备。
--4、选择完成后,单击【确定】按钮返回。在【还原数据库】窗口,就可以看到该备份设备中的所有的数据库备份内容,复选【选择用于还原的备份集】下面的“完整”、“差异”和“事务日志”3 种备份,可使数据库恢复到最近一次备份的正确状态。
--5、果还需要恢复别的备份文件,需要选择RESTOREWITH NORECOVERY 选项,恢复完成后,数据库会显示处于正在还原状态,无法进行操作,必须到最后一个备份还原为止。单击【选项】,在【选项】页面选择RESTORE WITH NORECOVERY选项
--6、点击确定,开始恢复
注:当执行还原最后一个备份时候,必须选择RESTORE WITH RECOVERY选项,否则数据库将一直处于还原状态。
恢复脚本:
RESTORE DATABASE [demo_db] FROM
DISK = N'C:\考勤系统.bak'
WITH FILE = 1,
NORECOVERY,
NOUNLOAD,
STATS = 10
GO
RESTORE DATABASE [demo_db] FROM
DISK = N'C:\考勤系统.bak'
WITH FILE = 2,
NOUNLOAD,
STATS = 10
GO
时间点恢复
在SQL Server 2008 中进行事务日志备份时时候,不仅给事务日志中的每个事务标上日志号,还给他们都标上一个时间。这个时间与RESTORE语句的STOPAT 从句结合起来,允许将数据返回到前一个状态。但是,在使用这个过程时需要记住两点:这个过程不适用于完整与差异备份,只适用于事务日志备份。
l 将失去STOPAT 时间之后整个数据库上所发生的任何修改。
DEMO:一个数据库每天有大量的数据,每天14 点都会定时做事务日志备份,11:00的时候服务器出现故障,误清除了许多重要的数据。通过对日志备份的时间点恢复,可以把时间点设置在11:00:00,既可以保存11:00:00之前的数据修改,又可以忽略11:00:00 之后的错误操作。
使用SQL Server Management Studio 工具按照时间点恢复数据库的操作步骤如下:
--1、打开SQLServer Management Studio 工具,连接服务器。
--2、在对象资源管理器中,展开【数据库】节点,右击【mydb】数据库,在弹出的命令菜单中选择【任务】|【还原】|【数据库】命令,打开【还原数据库】窗口。
--3、单击【目标时间点】文本框后面的【选项】按钮,打开【时点还原】窗口,启用【具体日期和时间】选项,输入具体时间11:00:00。
--4、设置完成后,单击【确定】按钮返回。然后还原备份,设置时间以后的操作将会被还原。