問題:
生產環境的數據庫可能比較大,如果直接進行全備而不壓縮的話,備份集就會占用了大量磁盤空間。給備份文件的存放管理帶來不便。
特別是如果要做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】