Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is the programmer of a database program responsible for database backups?

Imagine you sell an application that stores its data in a Microsoft Sql Server database. Some customers are large companies with existing Sql installations and staff to maintain them. Other customers are small companies who get the SQLEXPRESS version installed by a setup program.

The database will soon contain a lot of important data and will need backing up. Whose responsibility is this?

Should the application contain a UI for backing up the database and warn when the backup has not been run?

Or should the application just include instructions for backup in its documentation?

Or is this a problem for the customers to solve and not the programmers?

like image 870
BTB Avatar asked Feb 07 '09 08:02

BTB


People also ask

Who is responsible for database backup?

One of the key responsibilities of a database administrator (DBA) is to prepare for the possibility of media, hardware and software failure as well as to recover databases during a disaster.

What is the role of a database programmer?

Writes and documents computer programs/software packages requiring knowledge of software logic and some programming languages and statistical programs to run analysis of data.

How backup is done in database?

Techopedia Explains Database Backup It is performed through database replication and can be done for a database or a database server. Typically, database backup is performed by the RDBMS or similar database management software.

What is included in a database backup?

Physical database backup This includes files, data controls, and archived logs. Businesses should keep physical backups in a separate, secure location, such as a disk, tape, or cloud. Physical backups are handy when you have to restore the entire database in a short amount of time.


2 Answers

In most cases I'd expect the customer to handle backups without involving the programmers. There is, of course, nothing wrong if the customer asks you as a programmer to build backup-reminders into the application.

In some cases where the customer has little or no understanding of the technology they are using I also think it is our responsibility as system developers to inform them of what they are expected to do in terms of maintenance.

Even with professional customers I fairly often specify minimum backup requirements in documentation, simply because you get what you ask for.

like image 64
krosenvold Avatar answered Oct 03 '22 16:10

krosenvold


If you are building software that installs SQLExpress, then you should provide the backup functionality. By default, SQLExpress doesn't come with Management Studio, and I would consider it a major usability issue to install Management Studio as part of your app (or ask the customer to do so).

The BACKUP DATABASE command is simple to execute from your application. There's really no reason not to provide this functionality.

As for customers who have an IT staff, they can still handle the backups themselves using their existing process.

Everybody wins.

like image 31
Brannon Avatar answered Oct 03 '22 17:10

Brannon