A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Petra Liljecrantz
Mar 21, 2016
  3157
(4 votes)

How to keep the integrity of a backup chain

This is the second post about issues I often encountered working for Episerver Managed Services. It´s not an Episerver specific blog post per se, but we often saw this problem and it has to do with developers messing up the integrity of a backup chain. For some people this might be obvious and a no brainer, but like I wrote, it was quite a big problem so people need to learn and be aware of this.

The backup chain

In any hosting environment, regardless if you have in-house hosting or with a hosting provider such as Episerver Managed Services there are of course backup jobs running to backup an SQL database. A common setup is to take a full backup once a week and differential backups running each day or perhaps a full backup once and then only differential backups each day. Regardless which approach is used it´s important to keep the integrity of the backup chain.

The issue

All too often partners or customers have access to the production database and performing backups before a deploy. That´s all good and is what should be done, but the developer might not have knowledge about how the backups are run and how a backup chain works, so when they do a backup they do a full backup and are not aware that by not checking the box Copy-only database they are destroying the backup chain causing the database not being able to be restored to the latest differential backup. In the case of trouble and the database have to be restored the previous differential backup can´t be used, it will mess up the database.

Of course the full backup done before the deploy was made could be used but then the backup chain has to be setup again with an initial full backup. And if the database backup in question has been deleted after the deploy or can´t be used for any other reason then a lot of data would be lost when having to revert back to the latest full backup in the backup chain.

The solution

Always check the Copy-only backup box when doing a backup before a deploy, as shown here:

Image copyonlycheck.png

Mar 21, 2016

Comments

Henrik Fransas
Henrik Fransas Mar 21, 2016 02:06 PM

This is very true and something non-dba are not aware of!

Arild Henrichsen
Arild Henrichsen Mar 21, 2016 03:21 PM

Good points. The problem you're highlighting here is a perfect example of shoot-from-the-hip devops. 

Whether the customer has Managed Services, a remote hosting partner, or hosts the servers inhouse - if you don't know what you're doing, stay the hell away from the databases. 

The developer is the very last person who should tamper with the DBs or the backup scheme - in 99% of cases that's someone else's job. 

I wrote a blog post about this kind of thing a few years back.. which hat is yours?

https://www.epinova.no/en/blog/your-hat-reveals-your-developer-type/

Petra Liljecrantz
Petra Liljecrantz Mar 21, 2016 03:30 PM

That was a funny post! I think I´m The Soldier :)

Henrik Fransas
Henrik Fransas Mar 21, 2016 04:49 PM

I am a cowboy....

K Khan
K Khan Mar 21, 2016 05:45 PM

any hat for Spartans?

Saif
Saif Mar 22, 2016 01:04 PM

Good point there, thanks Petra!

Please login to comment.
Latest blogs
CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025

Optimizely PaaS Administrator Certification : Free for Everyone

Optimizely has recently launched a free PaaS Administrator Certification. https://academy.optimizely.com/student/activity/2958208-paas-cms-administ...

Madhu | Dec 9, 2025 |

Fixing TinyMCE Initialization Failures in Optimizely CMS: A Hidden Pipeline Issue with .NET SDK Versions

Over the past few weeks, several Optimizely CMS projects began experiencing a puzzling failure: XHtmlString fields stopped initializing TinyMCE in...

Francisco Quintanilla | Dec 9, 2025 |

Jhoose Security Modules v2.6.0 — Added support for Permissions Policy and .NET 10

Version 2.6.0 adds Permissions Policy header support, updates to .NET 10, improved policy management, configurable security settings, and enhanced...

Andrew Markham | Dec 6, 2025 |