As you are all hopefully aware, Capita will be releasing SIMS Autumn release on the 9th November, with any lucky. Included in this is support for MSSQL 2008. There are a number of changes that will affect your setups, such as transaction log being replaced with Simple recovery model, so no more shrinking the log file! However on a more negative point you will lose tidy backups from System Manager and more importantly, compression from the backups. (See Resource: 16028)
I know this may sound bad, however, I think is a positive step. Have you ever had a problem in SIMS and you've had the head or such breathing down your neck to fix it, so you log a call with Capita or your Local Authority only to have them say, it's a known bug and there is a patch. So you decide to do it during the day, only to have dbupgrade take what seems like a lifetime to run a ruddy backup, and it appears to have crashed, at this stage you start to ask yourself, do I quit and use the /nobackup option? Well if you've ever looked into this, Capita did a while ago create a patch that removes compression, and OMG, it does help, I've seen backups take seconds (if the database is loaded in RAM and you have fast discs).
So this is good right? We'll how many of you routinely check you MSSQL\backup folder? Now you need start to look at compression as well. Lovely. Well I didn't like the idea of doing this, so I've created a program that will do this for you. I've uploaded it onto SupportNet, ID 688, failing that, it's attached on here too.
Overview. It's entirely written in C#, hopefully well. It contains a built-in ZIP library - SharpZip, which in my opinion appears to be quicker then the Microsoft ZIP library. It only requires .NET Framework 2.0 - or it should . It's a small little app, 134KB in total, digitally signed to ensure it's unmodified. It will only compress uncompressed MSSQL backups (.bak) and will only delete compressed files (.zip) and MSSQL backups (.bak). It deletes before it compresses, so you don't waste time compressing only to delete. You can set the maximum age of the backup and it will delete them older then the date specified, it uses the date created. Compression is optional, and if you do choice to, it will set the creation date to the same as the MSSQL backup (.bak).
Usage Download the program, save it to the local disc on the (SIMS) MSSQL server, I generally say create a batch file, but you can do whatever, run from command line…
Tidybackups.exe /PATH:[PATH TO YOUR MSSQL\BACKUP] /DAYS:[NO OF DAYS] [/ARCHIVE]
For example: Tidybackups.exe /PATH:"C:\program files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup" /DAYS:30 /ARCHIVE
This will delete any compressed files (.zip) and MSSQL backups (.bak) over 30 days old, any remaining MSSQL backups will be compressed, and the uncompressed version deleted.
If you want to do logging, you can ofcourse redirect the output to a file, so add >>log.txt This will write any files that are compressed and\or deleted.
Once you have create a batch file, I would then schedule it to run, daily, just to keep on top of things. Hopefully you'll find this useful, just remember it's not just limited to SIMS!
Tidy backups still needed you to do it manually and compression was rubbish. They used Dynazip, and the company that made it went under, it couldn't support anything over 4gb and made the whole backup process waaay longer that it needed to be.
Ah yes, my archives are corrupt if I let system manager do it. I just have an export running from MSSQL instead. That file then goes on to tape each day. Just one file that gets overwritten, I do make a copy when running patches or dangerous operations though.
First off, this looks like it will be very useful! However, while testing, I have come across an issue.
It seems that compressing the file does not function correctly. A zip file of the same name as the *.bak file is created, but the *.bak file is not added to the zip file before it is deleted. It leaves us with no *.bak file and a zip file 1k in size. When ran from a command line, the script completes in second, not near long enough to compress a file.
Never had a proble with compression or the length of time it took to create them. I am not happy backup compression has gone
Glad it's gone, backups now take seconds not hours. Compression can be done later when the system is not use.
So you have a file called ccsfms_20091106_143508.bak and a file called ccsfms_20091106_143508.zip? Mmm... not actually thought of this scenario as it shouldn't happen automatically, I assume someone has uncompressed the file from the zip. I'll have a think how I can deal with this and make new release. Thanks for the feedback.
If .bak exists and a same named .zip exists, it'll search inside the zip for the same file, if it has the .bak already, it'll just delete the .bak. Otherwise it'll .zip it. (For example, you extract the .bak file and forget to clean up afterwards)