有关SQL Server 2008备份压缩的正面和负面的影响

日期: 2008-09-09 作者:Roman Rehak翻译:April 来源:TechTarget中国 英文

SQL Server 2008的许多新特性之一就是对数据库里被压缩的文件备份。很多第三方厂商都提供了这一特征,但现在它成了本地工具。虽然SQL Server 2008数据和备份压缩不提供像第三方那么多的程序,但是这一特性是一些拥有大型的数据库公司最感兴趣的,他们进行备份和存储的速度要比在以前的版本里进行备份的速度快得多。   在我们进行详细阐述之前,我先谈一谈备份压缩的好处。

最大的益处就是备份的速度。即使是数据压缩也需要进行大量的CPU处理,大多数的数据库备份速度比较快因为一份压缩的备份文件比正常的文件要小得多,它需要的I/O操作也就要少得多。其次,更明显的一点就是压缩文件的大小被减少了。它打……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

SQL Server 2008的许多新特性之一就是对数据库里被压缩的文件备份。很多第三方厂商都提供了这一特征,但现在它成了本地工具。虽然SQL Server 2008数据和备份压缩不提供像第三方那么多的程序,但是这一特性是一些拥有大型的数据库公司最感兴趣的,他们进行备份和存储的速度要比在以前的版本里进行备份的速度快得多。

  在我们进行详细阐述之前,我先谈一谈备份压缩的好处。最大的益处就是备份的速度。即使是数据压缩也需要进行大量的CPU处理,大多数的数据库备份速度比较快因为一份压缩的备份文件比正常的文件要小得多,它需要的I/O操作也就要少得多。其次,更明显的一点就是压缩文件的大小被减少了。它打来了很多的优点:你能保存更多的版本、网络备份的速度更快、需要的磁带更少等等。

  在SQL Server20908里创建一份被压缩了的备份很简单——你能用的T-SQL语言或者是仅包括COMPRESSION这个词的WITH子句。如果使用SQL Server Management Studio,就只需要在备份数据库会话里Options选择键上选择“压缩备份”这一选项。以下就是备份AdventureWorks数据库的示例。

  压缩备份

BACKUP DATABASE [AdventureWorks] TO DISK = N’D:SQL Server
BackupsAdventureWorks Compressed Backup.bak’
WITH NOFORMAT, INIT, NAME = N’AdventureWorks-Full Database
Backup’,
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO

  你希望使用了备份压缩能获得什么?我在AdventureWorks数据库样品上面操作了一些基准程序并且对结果非常满意。一般的备份需要25秒钟的时间来完成,而进行压缩备份只需要14秒。进行了常规备份的备份文件大小为188MB,而压缩备份的文件大小为45MB。这也就是说几乎节约了一半的时间。此外,备份文件所占用的空间只是常规SQL Server备份文件的25%,这样一来就减少了数据存储所需要空间。这些结果根据数据库的不同而不同。如果你的数据库包含一系列的文本数据,如char和varchar列,那你就能设置更大的压缩比率。有些第三方能提供更好的结果,SQL Server 2008 所具有的备份特性让人印象非常深刻并且也很有帮助。

  Box 以外的默认设置就是为了不压缩(在T-SQL语言内含有NO_COMPRESSION指示),所以你可以不对备份进行压缩。你能更改默认选项通过运行下列存储过程来进行压缩:

use master
Go
exec sys.sp_configure N’backup compression default’, N’1’
GO
RECONFIGURE WITH OVERRIDE
GO


  在执行这些代码之后,如果将NO_COMPRESSION没有明确地用到,就对所有的备份进行压缩。它是否是匹配的设置取决于你的公司和你的员工。我会在以后的文章里面讨论备份压缩的警告。

  在判断压缩对你的环境来说是否合适以前,有一些事情是你应该注意的。主要的事项就是在备份和存储时注意CPU的使用。而I/O的减少也就是压缩的文件更小、压缩备份时的速度更快的主要原因。

  备份时间是建立在CPU使用增加的基础之上的。我观察了我的测试系统,在进行压缩备份时,CPU使用达到了90%,在对该备份进行存储时占到了60%。只需要比较一下,我在对没有压缩的文件进行同样的操作时,备份时CPU使用时占20%,在存储时约为15%。

  你应不应该关注它?也要视情况而定。我见过的大多数的数据库,包括使用负荷最大的数据库都没在适当地调整索引时都没有经历CPU瓶颈。磁盘I/O通常第一个让服务器速度放慢。我怀疑在这也同样适合你大多数的数据库,特别是多处理器、双核机。你一定要检测你的环境并确保你的处理机能够处理这些负荷量,大部分都不是问题。

  这一特性的另外一个问题就是只能在SQL Server 2008 Enterprise Edition里起作用。(边注:在最终推出之前微软都会更改特征支持,所以对于别的版本能够支持这一特性的几率很小)。然而你能在SQL Server 2008的所有的版本里进行压缩备份。如果你需要将产品数据库带入另一个环境,这一功能迟早会有用。

  正如你看到的,备份压缩能够带来很多的好处,它们也都能被合理地利用,这也就成为了你考虑能尽可能升级到SQL Server 2008的另一个非常引人注目的理由。

翻译

April
April

相关推荐