2

Pretty simple question: is it standard/best practice to backup dev and QA instances of the database?

Assume that the schema information is kept in some form of source control.

3 Answers 3

8

QA and dev databases (I will refer to these as non-prod[uction] to encompass all life cycles) are still databases. So the business (in this case, might be the app dev team) needs to determine what type of disaster recovery they require.

In my opinion, SLAs don't just apply to production databases. They apply to any data store that requires a certain RPO/RTO. In the case of development databases, DML might not be a huge concern, but the loss of DDL could be application-breaking.

The point I'm trying to get at, is we here can't answers whether or not you'll want to back up your non-prod databases. You will need to find out what type of disaster recovery is required of these databases. There's a chance that database creation scripts generated weekly is enough. But there's also a possibility they may require native database backups.

Personally, I always resort to some form of backups. Even if it's simple recovery and just daily full backups. These non-prod databases are typically not gigantic (although there are definitely exceptions to that rule), and end-user impact isn't usually a big concern in lower lifecycle environments (again, there are exceptions here as well). I typically err on the side of more DR than less DR. But I'd still recommend talking to the business group to get clearly defined and documented guidance for disaster recovery. You don't want to be the reason that a week of development was just lost because you haven't been taking backups.

1
  • 4
    The easy answer here is this: A development server is a production server to a developer. Commented Aug 28, 2013 at 18:31
2

Say that you have 8 developers working daily with a dev database. They work for 8 hours/day. Each hour costs say 100$ per developer.

That is 6400$ for one day of work on a DEV database.

In this situation, if it was up to you, would you do transaction log backups at least every hour just in case? Or would you go with simple mode?

One of my customer faced that situation and chose simple recovery model before I explained it in the language they understand $$.

Do not take the simple recovery model decision by yourself if you are not owner of the system, leave that to the one that gets paid to make decisions. But help him by explaining the situation in $ language.

1

Dev instance is the production database for developers. Having said that, many development groups decide to use source code control like version manager or vss to backup and version development products, thereby getting rid of the database backup works on dev servers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.