Server-Wide Backup
-
RavenDB lets you define a backup task per-database
-or-
a Server-Wide Backup Task that backs up all the databases in your cluster.
Specific databases can be manually excluded from this task. -
When scheduling a Server-Wide Backup Task, RavenDB creates a regular ongoing backup task for each database in the cluster, and a backup will be created for each database at the specified scheduled time.
The prefix 'Server Wide Backup' is added to the name of the created ongoing backup tasks. -
Server-Wide backups are similar to their per-database equivalents.
You can create Full and Incremental backup tasks in Logical Backup or Snapshot format, and store your files locally or in a variety of remote locations. -
In this page:
Scheduling a Server-Wide Backup Task
Click the Manage Server main-menu item.
Figure 1. Manage-Server Menu Item
The Server-Wide Backup View
Figure 2. Add Server-Wide Backup Task
- Click the Server-Wide Tasks menu item
- Click the Add Server-Wide Task button to add a new task
Configure the new Backup Task.
Figure 3. Task Configuration
The settings are similar to those of a regular backup task.
-
Task Name
Enter the Server-Wide Backup Task name. -
Backup type
Select 'Backup' for a logical backup or 'Snapshot' for a snapshot image. -
Exclude databases
Toggle whether to exclude some of the databases from the server-wide backup.
Select an existing database from the dropdown, or enter a new database name of your choice, then click 'Add Database'. -
Schedule
Define task contents (Full and/or Incremental) and schedule execution time. -
Retention Policy
Define the minimum amount of time to keep Backups (and Snapshots) in the system. -
Encryption
See below. -
Destination
See below.-
If you use an Amazon S3 custom host:
- a- Use a custom S3 host
Toggle to provide a custom server URL. - b- Force path style
Toggle to change the default S3 bucket path convention on your custom Amazon S3 host.
- a- Use a custom S3 host
-
If you use an Amazon S3 custom host:
Encryption
Figure 4. Backup Encryption
-
Backup files (both logical backups
and snapshot images)
of encrypted databases will always be encrypted,
regardless of the settings here, using the database encryption key. -
Logical backups of unencrypted databases, will be encrypted using the key provided here.
You can use either the key suggested by RavenDB, or a valid key from any other source. -
Logical backups of encrypted databases will use the database's encryption key,
even if you provide a different key here. -
Snapshot images of unencrypted databases will always be unencrypted, regardless of the settings here,
since a snapshot is a faithful bitmap copy of the database.Encryption Summary:
Database Encryption Backup Type Backup Encryption and Key Used Encrypted Logical Backup Backup is encrypted using the database key,
even if you provide a different keyEncrypted Snapshot Image Backup is encrypted using the database key Not Encrypted Logical Backup Backup is encrypted using the key you provide Not Encrypted Snapshot Image Backup is not encrypted,
even if encryption is enabled
Destination
Backup files can be stored locally and/or remotely.
Backup files are created in a separate child folder per database, under a common root folder.
Figure 5. Backup Destination Folder
Restoring a Database From a Server-Wide Backup
There is no difference between restoring a database from a backup file created by the
Server-Wide procedure
and a separately created backup.
In both cases, you can restore the database by
Creating a New Database from Backup.
- While the Server-Wide Backup Task creates backups for all your databases at once, the restore procedure can only restore a single database at a time.
- When restoring a database from a backup file created by the Server-Wide procedure, make sure you provide the link to the specific database backup file and not the common root folder that was created by the Server-Wide task.
Server-Wide Backup Tasks in the Database Tasks View
The Server-Wide Backup Tasks can also be viewed in both the database's Ongoing-Tasks view
& Backups view.
Use either one of these views to see a task's details, or trigger an immediate backup for the selected database.
To edit or modify a Server-Wide task, navigate back to the Server-Wide Backup view.
- Choose the database you're interested in.
Figure 6. Choose Database
- Open the 'Backups' View.
Figure 7. Manage-Ongoing-Tasks View
- Click to open the Backups view for the selected database.
- Use this shortcut to navigate directly to the Server-Wide Backup view.
- This is a regular backup task, defined only on this database.
-
This is a Server-Wide Backup Task, with its detailed-view toggled on.
Though it is a Server-Wide task, clicking its Backup Now button would back up only the currently-chosen database. - Click this button to toggle this task's detailed-view on or off.
- This is another Server-Wide Backup Task, with its detailed-view toggled off.
The Responsible Node
-
When defining a Server-Wide backup, the user is not given the option to select a responsible node manually, since the responsible node can differ per database depending on the nodes the database resides on (the Database Group).
For each database, the responsible node for the task is set by the cluster to one of the database group nodes. -
Since defining a Server-Wide backup actually creates regular backup tasks, the behavior of a Server-Wide Backup Task when the cluster or responsible node is down is identical to that of a regular backup task.
See Backup Task - When Cluster or Node are Down. -
A graphical view of the database group shows which node is responsible for which task.
Figure 8. Topology View