张工的SQL Server经验心得

主要分享一些个人的SQL Server编程开发优化经验心得。个人公众号【SQL数据库编程】(微信号:zhang502219048)

博客园 首页 新随笔 联系 订阅 管理

问题:
生产环境的数据库可能比较大,如果直接进行全备而不压缩的话,备份集就会占用了大量磁盘空间。给备份文件的存放管理带来不便。
特别是如果要做logshipping,那就需要先在第一台服务器进行完全备份,如果备份集是超过100G,不仅备份时间长,而且把备份集复制到第二台服务器的过程中也会比较耗I/O资源和网络。

解决方案:
通过with compression显式启用备份压缩指定对此备份执行备份压缩,覆盖服务器级默认设置。适用于 SQL Server 2008和更高版本。
因为相同数据的压缩的备份比未压缩备份小,所以压缩备份所需的设备 I/O 通常较少,因此通常可大大提高备份速度。
备份压缩后,还原的效率也会提高。

实例:
博主(zhang502219048)在今天(2019-07-08)的实际项目重建logshipping过程中,通过使用备份压缩方式进行完全备份,把原来超过100G的备份集,降低到44G,备份时间只花了3分钟,方便了快速重建logshipping.

脚本:

/*
    说明:手动修改【DB名称】、要备份到的【路径和文件名】,再执行脚本
    脚本来源:https://www.cnblogs.com/zhang502219048/p/11062589.html
*/

backup database DbName to disk = 'D:\DbName.bak' --全备
with compression; --压缩备份
go

 参考微软官方文档:
https://docs.microsoft.com/zh-cn/sql/t-sql/statements/backup-transact-sql?view=sql-server-2017
https://docs.microsoft.com/zh-cn/sql/relational-databases/backup-restore/backup-compression-sql-server?view=sql-server-2017

【转载请注明博文来源:https://www.cnblogs.com/zhang502219048/p/11062589.html

posted on 2019-06-21 12:08  张工502219048  阅读(2644)  评论(0编辑  收藏  举报