I am working on my first WinForms application with a Firebird database shared over a network. Now I wonder how should I ensure database backup and restoring?
Up till now, my applications used embedded databases (SQLite), so I was sure that only my application accessed the database. The application itself was responsible for the backups and restores. I could simply copy the database file and that's it.
The backup was made:
- Automatically at each application start
- Automatically every week
- Manually by user
When the user wanted to restore from backup, he could do this anytime and he could choose from any type of backup. All directly from my application.
For the new application, I've moved from SQLite to Firebird. I've chosen Firebird because the application will run with embeded database by default, but can be used also with classic server. With Firebird, I can use both embedded and server with the same database file.
The problem is that when the database will run on a server, there can be many users working with the database at the same time, so I don't know how to make backup and restore. Should I omit the backup/restore functionality in my app and let the admin make the backups on the server? Or should my app include backup and restore?
The shared database is simply totally new to me, so I don't know the best practices. Anyway, the database will be pretty small and there will be only several users working at the same time.
Thanks, Petr