Jump to content
Sign in to follow this  

Multithreaded SQL Compressed Backups

Recommended Posts


If you have to backup any db files then you know how much space their backup files waste. Well unless you want to spend a bunch of money on a tool to compress them on the fly MSBP is your best choice. It in my opinion is even better than 2008's built in compression. It was creating backup files of 3Tb databases as small as 300gb and doing this 10 times faster than SQL does creating backups. So I created a little interface because if you have used MSBP then you know how touchy the syntax is. You can download MSBP from Sourcforge.com and it is very small. I promise you will be impressed how much better it backs up then SQL does but truly MSBP is using the SQL engine to do its backups still but compressing them on the fly. If you have to restore the database simply extract the backup file from the compressed files at least until I complete this project because I will have the restore function working soon.

There are a few things to be aware:

The code looks for MSBP.exe in a folder named MSBP in the root of C so the executable should be located here C:\msbp\msbp.exe

Thread count is required and must be at least 2 but no higher than 15

Compression level is required and must be 1 being the lowest & fastest up to 10 being the highest & slowest

Paths must end with \ no matter if it is a UNC path or a local path

If the option does not apply to your instance such as instance name or cluster name then leave that option blank

The final directory must be created ahead of time which will be what ever you put in the input box but you need a folder in there for the database name for instance if you type your path \\server\share\share\ then you need to create a folder naming it the same as the database your trying to backup.

Running this locally on your SQL server only MSBP is not setup to do remote backups

Restore and Schedule Task buttons do not work yet but working on a new gui and make some other features work as well.

I know the code is not the best but it is my first complete script using AutoIT so any tips or advice will be appreciated.


Share this post

Link to post
Share on other sites

There should be a way to make the string without that many ElseIf's...

Will definitely try this when I get home, though I don't have any databases measured in gigabytes, let alone terabytes.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this