ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL Server 2008 备份压缩

SQL Server 2008 备份压缩

原创 Linux操作系统 作者:iSQlServer 时间:2009-01-16 15:57:15 0 删除 编辑

SQL Server 2008 Enterprise 中引入了备份压缩。本主题讨论备份压缩的基本内容,包括压缩备份时的性能权衡。

注意:
虽然只有 SQL Server 2008 Enterprise 及更高版本支持创建压缩的备份,但从 SQL Server 2008 开始,每个版本都可以还原压缩的备份。
 


 限制
压缩的备份具有以下限制条件:

压缩的备份和未压缩的备份不能共存于一个媒体集中。

早期版本的 SQL Server 无法读取压缩的备份。

NTbackup 无法共享包含压缩的 SQL Server 备份的磁带。

 压缩备份的性能影响
因为相同数据的压缩的备份比未压缩备份小,所以压缩备份所需的设备 I/O 通常较少,因此通常可大大提高备份速度。

默认情况下,压缩会显著增加 CPU 的使用,并且压缩进程所消耗的额外 CPU 可能会对并发操作产生不利影响。因此,您可能需要在会话中创建低优先级的压缩备份,其 CPU 使用率受资源调控器限制。有关详细信息,请参阅如何使用资源调控器限制备份压缩的 CPU 使用量 (Transact-SQL)。

若要很好地了解备份 I/O 的性能表现,可以通过评估以下类型的性能计数器来分别考察进入设备或来自设备的备份 I/O:

Windows I/O 性能计数器,例如物理磁盘计数器

SQLServer:Backup Device 对象的 Device Throughput Bytes/sec 计数器

SQLServer:Databases 对象的 Backup/Restore Throughput/sec 计数器

有关 Windows 计数器的信息,请参阅 Windows 帮助。有关如何使用 SQL Server 计数器的信息,请参阅使用 SQL Server 对象。

 配置
安装时,默认情况下关闭了备份压缩。备份压缩的默认行为是由备份压缩默认选项服务器级配置选项定义的。您可以在创建单个备份或计划一系列例行备份时覆盖服务器级默认设置。

更改服务器级默认设置

Transact-SQL
使用 sp_configure 存储过程设置备份压缩默认设置的值,然后执行 RECONFIGURE 语句。

SQL Server Management Studio
使用“服务器属性”对话框的“数据库设置”页。有关详细信息,请参阅如何查看或更改备份压缩默认选项 (SQL Server Management Studio)。

覆盖备份压缩默认设置

您可以更改单个备份、备份作业或日志传送配置的备份压缩行为。

Transact-SQL
对于给定备份,可以在 BACKUP 语句中使用 WITH NO_COMPRESSION 或 WITH COMPRESSION。
对于日志传送配置,可以使用 sp_add_log_shipping_primary_database sp_change_log_shipping_primary_database (Transact-SQL) 控制日志备份的备份压缩行为。

SQL Server Management Studio
您可以通过在以下任意对话框中指定“压缩备份”或“不压缩备份”来覆盖服务器备份压缩默认设置:

备份数据库(“选项”页)
备份数据库时,可以控制单个数据库、文件或日志备份的备份压缩。

维护计划向导
通过维护计划向导,您可以控制所计划的每组类型为完全或差异的数据库备份或日志备份的备份压缩。

SQL Server 2008 Integration Services (SSIS) 备份数据库任务
您可以在创建用于备份单个数据库或多个数据库的包时控制备份压缩行为。

日志传送事务日志备份设置
您可以控制日志备份的备份压缩行为。

 压缩率
若要计算备份的压缩率,请使用 backupset 历史记录表的 backup_size 列和 compressed_backup_size 列中有关此备份的值,如下所示:

backup_size:compressed_backup_size

例如,3:1 的压缩率表明您可以节省大约 66% 的磁盘空间。若要查询这些列,可以使用以下 Transact-SQL 语句:

 复制代码
SELECT backup_size/compressed_backup_size FROM msdb..backupset;压缩备份的压缩率取决于所压缩的数据。有多种因素会影响所获得的压缩率。主要因素包括:

数据类型。
字符数据的压缩率要高于其他类型的数据。

页面上各行间数据的一致性。
通常,如果某页包含多个行,而其中的某个字段包含相同的值,则该值可获得较大的压缩。相反,对于包含随机数据或者每页只有一个很大的行的数据库,压缩备份的大小几乎与未压缩的备份相同。

数据是否加密。
与同样的未加密数据相比,加密数据的压缩程度要小很多。如果使用透明数据加密来加密整个数据库,则压缩备份不会将数据库大小减小很多,甚至根本不会减小。

数据库是否压缩。
如果压缩数据库,则压缩备份不会将大小减小很多,甚至根本不会减小。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-539855/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2105652