可是
![](/icons/95805dou.gif)
其体积仍然很庞大
![](/icons/95805dou2.gif)
所以
![](/icons/95805dou.gif)
在日常工作中
![](/icons/95805dou.gif)
如何给SQL Server
![](/icons/95805de.gif)
备份文件瘦身
![](/icons/95805dou.gif)
就是很多数据库管理员所关心
![](/icons/95805de.gif)
问题了
也许微软
![](/icons/95805de.gif)
数据库产品设计专家听到了众多数据库管理员
![](/icons/95805de.gif)
呼声了吧
![](/icons/95805dou2.gif)
在最新
![](/icons/95805de.gif)
2008版本
![](/icons/95805de.gif)
SQLServer数据库中
![](/icons/95805dou.gif)
提出了备份压缩
![](/icons/95805de.gif)
概念
![](/icons/95805dou2.gif)
其基本原理跟利用RAR等压缩工具压缩文件
![](/icons/95805yi.gif)
样
![](/icons/95805dou.gif)
可以让原有
![](/icons/95805de.gif)
备份文件体积更小
![](/icons/95805dou2.gif)
这直接带来
![](/icons/95805de.gif)
好处
![](/icons/95805dou.gif)
就是可以节省服务器
![](/icons/95805de.gif)
备份空间
![](/icons/95805dou2.gif)
另外
![](/icons/95805dou.gif)
若SQLServer数据库配置了异地备份
![](/icons/95805de.gif)
话
![](/icons/95805dou.gif)
那么也可以节省网络带宽
![](/icons/95805dou.gif)
缩短异地备份
![](/icons/95805de.gif)
时间
![](/icons/95805dou.gif)
等等
笔者前不久刚把数据库升级到了2008
![](/icons/95805dou.gif)
并重新更改了备份配置
![](/icons/95805dou.gif)
让数据库支持备份压缩
![](/icons/95805dou2.gif)
下面笔者就把备份压缩
![](/icons/95805de.gif)
管理心得体会跟大家分享
![](/icons/95805yi.gif)
下
![](/icons/95805dou2.gif)
希望笔者这些经验能够帮助大家做好SQL Server数据库备份压缩
![](/icons/95805de.gif)
管理
![](/icons/95805dou2.gif)
简单
![](/icons/95805de.gif)
来说
![](/icons/95805dou.gif)
如果要采用备份压缩技术
![](/icons/95805dou.gif)
那么数据库管理员要弄明白几个问题
问题
![](/icons/95805yi.gif)
:备份压缩技术
![](/icons/95805de.gif)
限制条件
由于备份压缩技术是2008版本中才提出来
![](/icons/95805de.gif)
![](/icons/95805dou.gif)
所以其兼容性可能就会收到
![](/icons/95805yi.gif)
些限制
![](/icons/95805dou2.gif)
根据官方
![](/icons/95805de.gif)
说法是
![](/icons/95805dou.gif)
从2008以后
![](/icons/95805de.gif)
数据库版本
![](/icons/95805dou.gif)
都会支持这个备份压缩技术
![](/icons/95805dou2.gif)
故向后兼容应该问题不大
![](/icons/95805dou2.gif)
数据库管理员关心
![](/icons/95805de.gif)
应该是
![](/icons/95805dou.gif)
从低版本升级到高版本
![](/icons/95805de.gif)
数据库时
![](/icons/95805de.gif)
![](/icons/95805yi.gif)
些限制条件
![](/icons/95805dou2.gif)
掌握这些限制条件
![](/icons/95805dou.gif)
可能会让数据库升级少遇到
![](/icons/95805yi.gif)
些问题
![](/icons/95805dou2.gif)
根据笔者
![](/icons/95805de.gif)
了解
![](/icons/95805dou.gif)
这里至少有 2个限制条件
![](/icons/95805yi.gif)
是压缩
![](/icons/95805de.gif)
备份和未压缩
![](/icons/95805de.gif)
备份不能够共存于
![](/icons/95805yi.gif)
个媒体集中
![](/icons/95805dou2.gif)
在SQL Server数据库中
![](/icons/95805dou.gif)
如果要对数据集进行备份
![](/icons/95805dou.gif)
则首先需要建立
![](/icons/95805yi.gif)
个媒体集
![](/icons/95805dou2.gif)
笔者升级完成的后
![](/icons/95805dou.gif)
先对数据库进行了
![](/icons/95805yi.gif)
个完全备份
![](/icons/95805dou.gif)
这个备份没有采用压缩技术
![](/icons/95805dou2.gif)
后来笔者在测试压缩备份
![](/icons/95805de.gif)
时候
![](/icons/95805dou.gif)
却发现如何都不成功
![](/icons/95805dou2.gif)
后来根据
![](/icons/95805cuowu.gif)
提示查询了相关资料并进行亲自测试
![](/icons/95805dou.gif)
才发现压缩
![](/icons/95805de.gif)
备份和未压缩
![](/icons/95805de.gif)
备份不能够共存于
![](/icons/95805yi.gif)
个媒体集中
![](/icons/95805dou2.gif)
笔者后来重新建立了
![](/icons/95805yi.gif)
个媒体集后
![](/icons/95805dou.gif)
备份压缩技术就可以起作用了
2是早期版本
![](/icons/95805de.gif)
SQL Server数据库无法读取压缩
![](/icons/95805de.gif)
备份
![](/icons/95805dou2.gif)
为了测试备份压缩技术
![](/icons/95805de.gif)
向前兼容性
![](/icons/95805dou.gif)
笔者特意利用备份压缩后
![](/icons/95805de.gif)
数据库文件
![](/icons/95805dou.gif)
去恢复2005版本
![](/icons/95805de.gif)
数据库
![](/icons/95805dou2.gif)
注意
![](/icons/95805dou.gif)
这个数据库文件是升级到2008后马上备份
![](/icons/95805de.gif)
![](/icons/95805dou.gif)
也就是说
![](/icons/95805dou.gif)
除了这个压缩技术外
![](/icons/95805dou.gif)
没有采用2008
![](/icons/95805de.gif)
新技术和新对象
![](/icons/95805dou2.gif)
但是
![](/icons/95805dou.gif)
却发现2005版本
![](/icons/95805de.gif)
数据库根本不认账
![](/icons/95805dou.gif)
不认识这个压缩后
![](/icons/95805de.gif)
备份文件
![](/icons/95805dou2.gif)
可见
![](/icons/95805dou.gif)
早期版本
![](/icons/95805de.gif)
SQL Server数据根本无法读取压缩后
![](/icons/95805de.gif)
备份文件
这是笔者测试后发现
![](/icons/95805de.gif)
两个限制条件
![](/icons/95805dou2.gif)
不过笔者查询了
![](/icons/95805yi.gif)
些官方资料后发现
![](/icons/95805dou.gif)
还有
![](/icons/95805yi.gif)
个重要
![](/icons/95805de.gif)
限制
![](/icons/95805dou2.gif)
如NTBACKUP工具无法共享含压缩
![](/icons/95805de.gif)
数据库备份磁带
![](/icons/95805dou2.gif)
不过由于笔者用不到这方面
![](/icons/95805de.gif)
内容
![](/icons/95805dou.gif)
所以也没有测试是否如此
问题 2:压缩
![](/icons/95805de.gif)
效果到底如何?
如果采用了压缩备份技术
![](/icons/95805dou.gif)
那么备份文件到底可以瘦下来多少呢?这主要跟数据库有关
![](/icons/95805dou2.gif)
根据笔者
![](/icons/95805de.gif)
了解
![](/icons/95805dou.gif)
如下
![](/icons/95805yi.gif)
些原因会直接影响到最终
![](/icons/95805de.gif)
压缩效果
首先是跟数据类型有关
![](/icons/95805dou2.gif)
如果数据库中大部分是
![](/icons/95805zifu.gif)
型
![](/icons/95805de.gif)
数据
![](/icons/95805dou.gif)
则其压缩效果会比较好
![](/icons/95805dou2.gif)
而如果数字类型比较多
![](/icons/95805de.gif)
话
![](/icons/95805dou.gif)
那么采用压缩备份技术后
![](/icons/95805dou.gif)
备份文件并不能够小多少
![](/icons/95805dou2.gif)
这也给数据库管理元是否要采用压缩备份技术提供了
![](/icons/95805yi.gif)
个判断
![](/icons/95805de.gif)
标准
其次是数据是否加密
![](/icons/95805dou2.gif)
正常情况下
![](/icons/95805dou.gif)
如果数据库中
![](/icons/95805de.gif)
数据未加密
![](/icons/95805dou.gif)
则其压缩
![](/icons/95805de.gif)
效果会比较明显
![](/icons/95805dou2.gif)
相反如果数据库
![](/icons/95805de.gif)
数据加密了
![](/icons/95805dou.gif)
则其压缩
![](/icons/95805de.gif)
程度就会小很多
![](/icons/95805dou2.gif)
如数据库管理员利用透明数据加密思路方法来加密整个数据库
![](/icons/95805dou.gif)
则采用压缩备份技术的后
![](/icons/95805dou.gif)
压缩备份并不会将数据库减小多少
![](/icons/95805dou.gif)
甚至根本不会减小
再者
![](/icons/95805dou.gif)
跟数据表设计也有关系
![](/icons/95805dou2.gif)
![](/icons/95805yi.gif)
般情况下
![](/icons/95805dou.gif)
如果表设计比较合理
![](/icons/95805dou.gif)
则其压缩
![](/icons/95805de.gif)
效果就会好许多
![](/icons/95805dou2.gif)
如某页中包含多个行
![](/icons/95805dou.gif)
而其中
![](/icons/95805de.gif)
某个字段包含相同
![](/icons/95805de.gif)
值
![](/icons/95805dou.gif)
则该值就可以获得比较大
![](/icons/95805de.gif)
压缩率
![](/icons/95805dou2.gif)
和的相反
![](/icons/95805dou.gif)
如果字段中
![](/icons/95805de.gif)
数据大部分是随机数据(即使只有稍微
![](/icons/95805de.gif)
差别)
![](/icons/95805dou.gif)
则其压缩备份
![](/icons/95805de.gif)
大小几乎和未压缩
![](/icons/95805de.gif)
备份相同
![](/icons/95805dou2.gif)
这也就是说
![](/icons/95805dou.gif)
要想取得比较好
![](/icons/95805de.gif)
压缩效果
![](/icons/95805dou.gif)
则在数据库设计时
![](/icons/95805dou.gif)
就需要考虑
![](/icons/95805dou2.gif)
如可以采用
![](/icons/95805yi.gif)
些列表字段供用户选择
![](/icons/95805dou.gif)
就可以提高最终备份文件
![](/icons/95805de.gif)
压缩效果
问题 3:压缩备份对于性能
![](/icons/95805de.gif)
影响如何?
数据库采用压缩备份的后
![](/icons/95805dou.gif)
对于数据库
![](/icons/95805de.gif)
影响是双方面
![](/icons/95805de.gif)
![](/icons/95805dou.gif)
即有利也有害
利是直接跟上面所说
![](/icons/95805de.gif)
数据库压缩效果相关
![](/icons/95805dou2.gif)
![](/icons/95805yinwei.gif)
同
![](/icons/95805yi.gif)
个数据库
![](/icons/95805de.gif)
压缩备份文件要比原来
![](/icons/95805de.gif)
备份文件要小
![](/icons/95805dou.gif)
所以压缩备份所需要
![](/icons/95805de.gif)
设备输入输出通常比较少
![](/icons/95805dou.gif)
所以可以大大提高备份速度
![](/icons/95805dou2.gif)
而且
![](/icons/95805dou.gif)
数据库进行异地备份
![](/icons/95805de.gif)
话
![](/icons/95805dou.gif)
还可以大大缩短网路传输
![](/icons/95805de.gif)
时间
![](/icons/95805dou2.gif)
所以
![](/icons/95805dou.gif)
当数据库
![](/icons/95805de.gif)
压缩效果越好
![](/icons/95805dou.gif)
则对于数据库
![](/icons/95805de.gif)
性能
![](/icons/95805dou.gif)
也会有很大
![](/icons/95805de.gif)
改善
不利的处就在于资源
![](/icons/95805de.gif)
消耗方面
![](/icons/95805dou2.gif)
如果采用了压缩备份技术
![](/icons/95805dou.gif)
则压缩会显著增加CPU
![](/icons/95805de.gif)
使用率
![](/icons/95805dou2.gif)
而压缩进程所占用
![](/icons/95805de.gif)
额外CPU可能会对兵法操作产生消极
![](/icons/95805de.gif)
影响
![](/icons/95805dou2.gif)
为了尽量减少这个不利影响
![](/icons/95805dou.gif)
可以采取
![](/icons/95805de.gif)
措施就是调整SQL Server数据库
![](/icons/95805de.gif)
备份策略
![](/icons/95805dou2.gif)
如把备份时间放在午夜时分
![](/icons/95805dou2.gif)
那时候
![](/icons/95805dou.gif)
基本上没有用户使用数据库
![](/icons/95805dou.gif)
或者数据库
![](/icons/95805de.gif)
使用几率会大大降低
![](/icons/95805dou2.gif)
此时
![](/icons/95805dou.gif)
就是多
![](/icons/95805yi.gif)
些额外
![](/icons/95805de.gif)
CPU消耗
![](/icons/95805dou.gif)
用户也很难察觉到
另外在数据库中
![](/icons/95805dou.gif)
也可以通过降低优先级
![](/icons/95805de.gif)
方式
![](/icons/95805dou.gif)
来降低压缩备份对数据库
![](/icons/95805de.gif)
不利影响
![](/icons/95805dou2.gif)
如当发生CPU争用时
![](/icons/95805dou.gif)
此备份
![](/icons/95805de.gif)
CPU使用就会受到资源控制其
![](/icons/95805de.gif)
限制
![](/icons/95805dou2.gif)
通过将特定
![](/icons/95805de.gif)
用户会话映射到限制CPU使用
![](/icons/95805de.gif)
资源调控器工作负荷来实现
![](/icons/95805dou2.gif)
不过这个实现起来比较复杂
![](/icons/95805dou.gif)
以后若有机会
![](/icons/95805dou.gif)
笔者将会专题讲述
![](/icons/95805dou2.gif)
对于大部分企业来说
![](/icons/95805dou.gif)
数据库
![](/icons/95805de.gif)
使用都有很明显
![](/icons/95805de.gif)
高发期和低潮期
![](/icons/95805dou2.gif)
只需要稍微调整
![](/icons/95805yi.gif)
下备份策略
![](/icons/95805dou.gif)
在数据库使用低潮期进行压缩备份
![](/icons/95805dou.gif)
就可以很轻松
![](/icons/95805de.gif)
避免压缩备份所带来
![](/icons/95805de.gif)
负面影响
![](/icons/95805dou2.gif)
而完全不需要吃力不讨好
![](/icons/95805dou.gif)
采用这么复杂
![](/icons/95805de.gif)
解决方案
![](/icons/95805dou2.gif)
即使像银行类这些金融机构
![](/icons/95805dou.gif)
在晚上12点的后用户也会大量
![](/icons/95805de.gif)
减少
![](/icons/95805dou2.gif)
此时他们释放出来
![](/icons/95805de.gif)
CPU给压缩备份使用已经足够了
还好笔者以前采取
![](/icons/95805de.gif)
备份策略
![](/icons/95805dou.gif)
就是在晚上12点的后让数据库进行自动备份
![](/icons/95805dou2.gif)
所以这次采用了压缩备份的后
![](/icons/95805dou.gif)
对于性能
![](/icons/95805de.gif)
影响可以忽略
问题 4:如何启用压缩备份?
默认情况下
![](/icons/95805dou.gif)
数据库在执行备份
![](/icons/95805de.gif)
时候
![](/icons/95805dou.gif)
是不采用压缩备份
![](/icons/95805de.gif)
![](/icons/95805dou2.gif)
如果数据库管理员出于特定
![](/icons/95805de.gif)
需要要启用压缩备份
![](/icons/95805de.gif)
话
![](/icons/95805dou.gif)
就需要管理员去手工启动
![](/icons/95805dou2.gif)
压缩备份
![](/icons/95805de.gif)
默认行为是数据库系统中
![](/icons/95805de.gif)
备份压缩默认选项服务器级配置来决定
![](/icons/95805de.gif)
如需要启用压缩备份策略
![](/icons/95805dou.gif)
只需要经过简单
![](/icons/95805de.gif)
3个步骤即可
第
![](/icons/95805yi.gif)
步:打开数据库对象资源管理器
![](/icons/95805dou.gif)
右键单击需要启用压缩备份策略
![](/icons/95805de.gif)
那个服务器
![](/icons/95805dou.gif)
然后打开属性对话框
第 2步:单击数据库设置节点
![](/icons/95805dou2.gif)
找到备份和还原选项卡
![](/icons/95805dou2.gif)
在压缩备份页签中显示了备份压缩默认设置
![](/icons/95805de.gif)
当前配置
![](/icons/95805dou2.gif)
这个“压缩备份”选项决定了数据库在备份
![](/icons/95805de.gif)
时候是否要才用压缩备份策略
![](/icons/95805dou2.gif)
如果选中
![](/icons/95805de.gif)
话
![](/icons/95805dou.gif)
默认情况下数据库将启用压缩备份
第 3步:建立新备份媒体
![](/icons/95805dou2.gif)
笔者在上面提到过
![](/icons/95805dou.gif)
压缩备份和未压缩备份不能够存储在同
![](/icons/95805yi.gif)
个媒体集中
![](/icons/95805dou2.gif)
如果数据库管理员是中途启用这个压缩备份策略
![](/icons/95805de.gif)
![](/icons/95805dou2.gif)
即在原先
![](/icons/95805de.gif)
备份媒体中已经有未压缩
![](/icons/95805de.gif)
备份文件
![](/icons/95805dou.gif)
那么数据库管理员要么需要删除原有
![](/icons/95805de.gif)
备份文件
![](/icons/95805dou.gif)
要么就是重新建
![](/icons/95805yi.gif)
个备份媒体
![](/icons/95805dou2.gif)
笔者
![](/icons/95805de.gif)
意见是重新建立别分媒体
![](/icons/95805dou.gif)
而保留原有
![](/icons/95805de.gif)
备份文件
![](/icons/95805dou2.gif)
这主要是出于安全
![](/icons/95805de.gif)
考虑
![](/icons/95805dou2.gif)
万
![](/icons/95805yi.gif)
压缩备份
![](/icons/95805yinwei.gif)
某些原因不成功
![](/icons/95805dou.gif)
则仍然可以有补救措施
压缩备份是SQLServer数据库推出
![](/icons/95805de.gif)
![](/icons/95805yi.gif)
个新技术
![](/icons/95805dou2.gif)
笔者以为
![](/icons/95805dou.gif)
如果企业数据库容量比较小
![](/icons/95805de.gif)
话
![](/icons/95805dou.gif)
没有必要采用这个压缩备份
![](/icons/95805dou2.gif)
只有数据库容量比较大
![](/icons/95805dou.gif)
或者要进行异地备份
![](/icons/95805de.gif)
情况下
![](/icons/95805dou.gif)
采用压缩备份
![](/icons/95805de.gif)
效果才会显现出来
![](/icons/95805dou2.gif)
由于压缩备份有比较大
![](/icons/95805de.gif)
限制条件和管理难点
![](/icons/95805dou.gif)
数据库管理员还是需要在性能、压缩效果等方面评估压缩备份可能会给企业带来
![](/icons/95805de.gif)
效果
![](/icons/95805dou2.gif)
评估的后再进行取舍
![](/icons/95805dou.gif)
是否要采用压缩备份
延伸阅读
最新评论