Background: I need to revise/improve an automated process I created a couple years ago on a group of servers. The process goes as follows:
- Generate full backups of all SQL databases available in a particular SQL instance (hosted on server A)
- Grab all of them and compress them into a single file using 7zip compression utility (compression process takes place on server A)
- Send the single, compressed 7z file over the local network to store on a separate server (hosted on server B)
This process technically works, but the size and number of databases has grown over the years to be somewhere between 70-100 GB. The process runs daily, and should be switched over to utilize differential backups just to reduce the amount of data involved; for now it performs full backups.
Problem: The problem I am having is the amount of time it takes for 7zip to compress such a massive amount of data. It is taking 7zip about 14 hours to compress all of these databases into a single .7z file. The server in question is a dual-core, W2008R2 64-bit, 16GB RAM machine--which also hosts SQL server for a web application for about 300-500 users. Regarding 7zip specifically, we have it set to perform maximum level compression (ultra / level 9).
The risk is that 7zip consumes too much CPU power during peak hours for our users, so the performance of SQL is jeopardized.
Question: Is there a compression utility available for Windows which could be used to compress SQL database backups which would perform the process more quickly (~80GB in less than 14 hours) or consume less CPU usage than 7zip?