12.4 压缩与加密

12.4 压缩与加密


12.4.1 备份压缩

  SQL Server 2008 企业版中引入了备份压缩。从 SQL Server 2008 R2 开始,SQL Server 2008 R2 Standard 和所有更高版本都支持备份压缩。SQL Server 2008 的每个版本和更高版本都可以还原已压缩的备份。

  安装时,默认行为是不进行备份压缩。但此默认设置可通过设置服务器属性中的“数据库设置”选项卡的“压缩备份”选项进行更改。

  备份时,默认行为是“使用默认服务器设置”,可以显式启用备份压缩(WITH COMPRESSION)或者显式禁用备份压缩(WITH NO_COMPRESSION)

12.4 压缩与加密_第1张图片


  压缩的备份具有以下限制条件:
(1)压缩的备份和未压缩的备份不能共存于一个介质集中。
(2)早期版本的 SQL Server 无法读取压缩的备份。
(3)NTbackup 无法共享包含压缩的 SQL Server 备份的磁带。


  因为相同数据的压缩的备份比未压缩备份小,所以压缩备份所需的设备 I/O 通常较少,因此有利于改善I/O性能。如果磁盘I/O瓶颈比较明显,特别是通过网络进行备份时,使用压缩备份通常可大大提高备份速度。
  压缩备份生成的备份数据量,一般是未压缩的数据量的1/4到1/10。若要计算备份的压缩率,请使用 backupset 历史记录表的 backup_size 列(备份读取的实际数据量)和 compressed_backup_size 列(压缩后的数据量)的值。例如,3:1 的压缩率表明您可以节省大约 66% 的磁盘空间。

  默认情况下,压缩会显著增加 CPU 的使用,并且压缩进程所消耗的额外 CPU 可能会对并发操作产生不利影响。
  如果数据库已经启用加密,或者数据库已经启用压缩,那么压缩备份不会将数据库大小减小很多,甚至根本不会减小。



12.4.2 使用密码加密

  在备份时,可以根据需要为介质集、备份集或这两者指定密码。 如果已经在介质集或备份集上定义了密码,则必须在 RESTORE 语句中指定正确的密码。 这些密码可防止未经授权而使用 SQL Server 工具执行还原操作以及向介质追加备份集。 但是,密码不会阻止使用 BACKUP 语句的 FORMAT 选项覆盖介质。

  此密码提供的安全性较低。 它旨在防止经过授权的用户或未经授权的用户使用 SQL Server 工具执行不正确的还原操作。 但是不能防止通过其他方式或通过替换密码来读取备份数据。 后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。保护备份的最佳做法是将备份磁带存储在安全的位置,或者备份到由适当的访问控制列表 (ACL) 保护的磁盘文件。 ACL 应设置在创建备份的根目录下。 

  从 SQL Server 2012 开始,WITH PASSWORD 和 WITH MEDIAPASSWORD 选项不可再用于创建备份; 但仍可以还原使用密码创建的备份。



12.4.3 使用证书加密

  在 SQL Server 2014 之前,如果希望实现对备份实现加密,可能使用透明数据加密对整个数据库进行加密,然后再备份加密过的数据库本身和事务日志。这种操作会使数据库压缩备份时得到非常低的压缩比,而且加密时需要额外的 CPU 的开销。

  SQL Server 2014 引入了原生的备份加密解决方案。此方案要求存在证书或非对称密钥,然后选择加密算法从而在备份被写入磁盘之前被加密。这种加密操作可以与备份压缩相结合,先进行压缩,再加密,从而获得较高的压缩比。

  加密算法支持 AES 128、AES192、AES256和三重 DES。其中,3DES 算法需要消耗较多的 CPU。



本文出自 “SQL Server 管理员指南” 博客,谢绝转载!

你可能感兴趣的:(压缩,加密,备份)