问题:
生产环境的数据库可能比较大,如果直接进行全备而不压缩的话,备份集就会占用了大量磁盘空间。给备份文件的存放管理带来不便。
特别是如果要做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】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫