I will be installing a Database System on an Offshore Oil Platform (rack Servers). They have very limited hardware and space therefore sending up a backup infrastructure is not possible. Sending backups via FTP too is not possible as they do not even have a file server.
I was thinking of backing up the SQL database on to a Portable USD Hard Drives. The USB Hard Drives will be plugged in directly on the server at all times. Once a week, they will swap the hard drive with a fresh /older one.
Is it a good Idea to do this? If not can you propose a better solution?
A backup to a USB connected drive is certainly better then no backup. A backup to hardware specifically designed for backups (like tapes) might be an even better choice.
Can you afford to lose a weeks worth of data? If you are only swapping drives once a week, then you are risking a weeks worth of data. If the drive is connected for a week, there is a risk of some electrical surge taking out both the computer and the backup drive. If that drive hasn't been changed for 6 days, then you lose 6 days worth of data.
Will you be shipping the drives to another location? It seems likely that the chance for some kind of event that will destroy both the original database, and the backup drives is pretty high.
It's just an idea, but you can provide an external (or third-party even) backup service trough a mirror server/db. The information will be replicated at everytime you do an insert/update/transaction log/alter/create/etc., any modification. So the transactions are very little and can be on an queue if you doesn't have access or you have a limited connection (as one connection per week) to internet / external network.
I could help you significantly more if you tell me what kind of DB are you using. It's MySQL? MSSQL? ORACLE?
Even more (just another idea) did you think on making a good-policy programability backup? For example, if you know the structure and the data, and the time of expiration of the data, you can move/delete your innecesary history or work with the above idea about a mirred db.
I think the cost of working with a mirror db with a minimal connection is less than working with external removable hardware, in terms of risk, security, space and hardware damage.
Edited:
About mirror a server there is a lot of help and tutorials and video tutorials about. My skill is more oriented to MySQL server on linux but I can tell you some tips, I hope them can help you.
There is a FAQ link at bottom of that document that can clarifies you a lot some principal questions about (for example, the queue transaction, the network capacity, etc):
Or How to prepare a mirror database on 2008 R2 (you can change the version clicking on the top, "Other versions".
And another idea that becomes with that line of thinking:
Supose you can't configurate the mirror or anything the reason. In the last instance you can make a little job/task/automatization software or script that reads a lot of data trough SQL and send it trough SQL (and you can change the destination, for example from MSSQL (your actual source) to MySQL (that is free and you can support it wherever, with your own pc/server/etc.
Really if you know about SQL you can do it.
And another tip, I think by that you told that you can't add/attach any HD, but you can work with RAID's disk to expand the capacity of your internal backups.
But in any case, the main idea of a backup is that you have the backup in a complete different environment (another place) that you can access and/or switch your databases if one drops for any reason (a fire, an earthquake, a revolution, a hardware problem). That's the main idea of a mirror: a load balanced server that is clear for the user, you really don't know where are you working, it works at the same time at the same way. That's a difference with a "history backup" and a "real-time backup".
Edited 2: In any case I never answer anything about your idea. Of course is better than nothing, but for critical data is like nothing. It has a lot of non desirable future issues: