⚙️ Installation & Configuration
Backup Recovery
📖 Docs

Backup and Recovery - Optimizely CMS 12

Exam Area: Area 2 – Installation, Operation & Configuration (20%)


1. What Needs to Be Backed Up

ComponentNotes
SQL DatabaseAll content, users, and configuration
Blob StorageMedia files (images, videos, documents)
Config filesappsettings.json, module.config
Application code(Source control)

2. SQL Server Backup

-- Full backup
BACKUP DATABASE [EPiServerDB] 
TO DISK = 'D:\Backups\EPiServerDB_Full.bak'
WITH FORMAT, COMPRESSION;

-- Differential backup
BACKUP DATABASE [EPiServerDB] 
TO DISK = 'D:\Backups\EPiServerDB_Diff.bak'
WITH DIFFERENTIAL, COMPRESSION;

-- Transaction log backup (for point-in-time recovery)
BACKUP LOG [EPiServerDB] 
TO DISK = 'D:\Backups\EPiServerDB_Log.bak';

3. Azure SQL Backup (DXP)

Azure SQL: Automated backups
  → Full backup: weekly
  → Differential: daily
  → Transaction log: every 5-12 minutes
  → Retention: 7-35 days (configurable)
  → Point-in-time restore: Yes

4. Azure Blob Storage Backup

Azure Blob:
  → Soft delete: deleted blobs recoverable for N days
  → Versioning: keep multiple versions of blobs
  → Geo-redundant storage (GRS): replicated to a secondary region
  → Azure Backup vault: scheduled backups

5. DXP Built-in Backup

DXP Self-Service Portal:
  → Database backup: On-demand or scheduled
  → Download backup file
  → Restore to an environment
  
PaaS Portal → Environment → Backup
  → Create backup
  → Restore backup
  → Download backup (to local)

6. Restore Process

-- SQL Restore
RESTORE DATABASE [EPiServerDB]
FROM DISK = 'D:\Backups\EPiServerDB_Full.bak'
WITH REPLACE, RECOVERY;
Blob Storage:
  → Azure Portal → Storage Account → Containers
  → Restore from backup or soft-delete recovery

7. Disaster Recovery

RPO (Recovery Point Objective): How much data loss is acceptable?
RTO (Recovery Time Objective): How long to restore service?

Strategy:
  → Regular automated backups
  → Geo-redundant storage
  → Tested restore procedures
  → Multi-region deployment

Review Questions

  1. What needs to be backed up in CMS? (Database, Blob Storage/media, config files)
  2. How frequently does Azure SQL back up in DXP? (Full: weekly, Differential: daily, Log: every 5-12 min)
  3. Does DXP perform automated backups? (Yes — and manual backups can also be created from the PaaS Portal)
  4. What is point-in-time restore? (Restoring the database to any point within the retention period)