Backup

Within the Schedule tab, you can use Backup to create and schedule simple full or filtered object backups across one or multiple objects.

Introduction

When you click on the GRAX Schedule tab, you will notice two subtabs: Backup and Archive. Backups are the most frequently used GRAX feature, as most customers use this to do a full recurring, incremental backup across all their most important objects. You may also hear these referred to as Object Backups. Backup should be used in any of the following scenarios:

  • You want to back up ALL records across one or multiple objects
  • You DO NOT need to delete records

Backup Creation

Let's take a look at how to configure a Backup and understand what options and settings you have available to customize the backup in a flexible manner.

Process Details

  • First specify a Name for this backup. It is not required, and if you don't enter a name we will auto-name the process upon saving.

  • Next, select any of the initial toggle options that will apply to this backup.

📘

Initial Toggle Options

  • Is Active: you may want to leave this deactivated if you plan on coming back later and updating. This ensures there is no chance the process runs inadvertently or someone else comes in and accidentally kick it off.

  • Single Object Backup: if you enable this toggle, you will only be able to select one object in the object selection list that will appear. The benefit of only selecting one object is that you will have the added flexibility of filtering on any Date field on this object. When choosing this option, be aware that many custom fields are not indexed and thus queries may perform slowly on the Salesforce database.

Backup Type

Currently, the two options are Standard Backup and Files (there will also be an option for Tags or History if your org has enabled these). The selection will determine which object list displays to you.

  • Standard Backup will show you all the objects you are used to seeing in SF, except "File" objects.
  • The Files option will show you only 3 specific objects. Given the special considerations around Files, you will need to back these up as part of a separate process going forward.
  • The History option will show you all activated and existing history tables, assuming they have at least 1 row.
  • The Tag option will show you all enabled tag objects.

Once you select one of the backup types, the object list will begin loading.

Select Filter Criteria

The filter options, as explained above, may vary depending on the toggle selections. The default filter criteria will allow you to filter based on a starting Audit Date Field. GRAX will pick up all records starting from this date field onwards.

GRAX will use one of the following Salesforce system fields (in order, given that some objects may not have all these fields) to filter the selected objects:

SystemModstamp
LastModifiedDate
CreatedDate

If you had selected the Single Object Backup toggle, you'll have more flexibility in selecting specific date fields on the object that you want to use for filtering.

Default option of selecting a single "Audit Date Field" to filter records starting from this entered date onwards.Default option of selecting a single "Audit Date Field" to filter records starting from this entered date onwards.

Default option of selecting a single "Audit Date Field" to filter records starting from this entered date onwards.

More date fields will be available to filter on (along with a start date and end date) if you enable the "Single Object Backup" toggle.More date fields will be available to filter on (along with a start date and end date) if you enable the "Single Object Backup" toggle.

More date fields will be available to filter on (along with a start date and end date) if you enable the "Single Object Backup" toggle.

📘

View SOQL Query Filter

Oftentimes a more advanced Salesforce Admin may want to run a SOQL query in their own tool of choice against the filter criteria that they have selected, in order to get a better sense of how many records will be picked up, for example. You will see a "database" icon next to the date filter field. Click the icon to open a pop-up that will show the SOQL query format of the filters that you entered. This can be very beneficial to Salesforce users who are more familiar with SOQL and want to do a quick copy/paste.

Schedule

Select your Schedule for how frequently you would like this process to run. For example, this process will run for the first time on 10/3/2018 at 12:00 AM and would continue to run daily at 12:00 AM.Select your Schedule for how frequently you would like this process to run. For example, this process will run for the first time on 10/3/2018 at 12:00 AM and would continue to run daily at 12:00 AM.

Select your Schedule for how frequently you would like this process to run. For example, this process will run for the first time on 10/3/2018 at 12:00 AM and would continue to run daily at 12:00 AM.

Backup Options

📘

Date Range Selection

By default, when you select multiple objects, there will be a single Audit Date Field to filter on. If you want to specify a specific system date field along with start and end dates, use this toggle option. However, note that you will NOT be able to make this backup incremental.

📘

Incremental Backups

When this feature is enabled the Scheduled Process will back up only records that have changed (based on SystemModstamp) since the last time this Scheduled Process ran successfully. We recommend all large backups use this incremental option, so that subsequent runs only grab changed records and save on API calls, increase performance etc.

Incremental Backup cannot be enabled if you are using Date Range Selection as it does not necessarily make sense to incrementally back up records when you set the criteria with Start and End Date.

📘

Email Notifications

Enable this toggle to receive an email notification to the specified users upon successful completion. Note that you will always receive a notification if the process did not complete successfully.

Once you enable this toggle, you'll see a Notify Additional Users section below that will allow you to search for users to receive the email alert, as well as specify up to an additional 250 comma-separated email addresses.

📘

Rolling Date

The benefit of the rolling date option (versus a more simple "Last N Days" filter), is that it allows customer to set a custom schedule and still only back up a rolling period of records. For example, let's say you wanted to schedule a back up on the 15th of each month, but only pick up records modified the previous month. Specifically:

  • Initial run of the process is scheduled for June 15th, for records with a modified date between May 1 and May 31
  • The next run of the process (on schedule) is kicked off on July 15th, and with the rolling date option, it will grab records with a modified date between June 1 and June 30.

API Information

Beginning with GRAX 3.50, when conducting backups, a combination of Bulk and REST API Credits will be consumed to back up your data. The Bulk API Backup option provides the ability to leverage the Salesforce Bulk API to more quickly back up large data sets. Utilizing the REST API will result in similar behavior but utilizes a different Salesforce method and set of Salesforce limits.

GRAX determines which API method to use based on properties of each object within the backup, such as number of records, the specific query/date filter selected etc.

Salesforce allows you monitor jobs that use the Bulk API by going to Setup > Bulk Data Load Jobs. This page allows you to monitor the progress of current jobs and the results of recent jobs. To read more about how Salesforce allows you to monitor bulk jobs, click here. Again, note that not all backups or objects within a backup will leverage the bulk API.

📘

PK Chunking

GRAX leverages Salesforce's advanced PK chunking technique to optimize queries on large data volumes. Most standard and custom objects support PK Chunking. If an object does not support PK Chunking, GRAX will still attempt to back it up, as long as it falls within the bulk query limits that can be found here.

The bulk API backup process will count against your bulk limits, which are typically 10,000 or 15,000 batches per rolling 24 hours. The process will also consume traditional Salesforce API calls in order to periodically update the Salesforce status, query metadata etc.

Typically you will see a maximum of 100,00 records per CSV/batch for each bulk job batch. So for example, if you had 1 million records, that may use 10 batches towards your rolling 10,000 batch limit per 24 hours.

Note these are just estimates, and if you enabled Formula Field Backup that can have a drastic negative impact on performance and API usage.

📘

More Information on Query Strategy

Please reach out to GRAX Support if you need more detailed information on the GRAX query strategy and how GRAX efficiently leverages the various query options provided by Salesforce.

GRAX Status

Let's take a look at some of the statuses you'll see on the Schedule tab when looking at your backups.

Running - this status indicates that the process is currently running. You will see this status for the majority of the job's lifecycle.

Aborting - Status when a user manually aborts the process.

Aborted - Status once all abort activities have finished. This may take a few minutes.

Completed - All records have been successfully backed and sent to GRAX.

Completed - Errors Backing Up Data - This status indicates that there may be some issues with the backup. You can find out more information and see specific error messages by navigating to the related GDRs or error report link.

Error - Not all batches were process successfully. Use the error report link in the action dropdown to see more information.

Formula Fields

Backup of formula fields is disabled default, as you will see with the new toggle (once you enable the Use Bulk API toggle). GRAX recommends you do NOT enable the backup of formula fields for a couple reasons:

  • Formula fields can be problematic because they are immediately stale once you back them up. The record in Salesforce could easily have a new value in the formula field (and this is not possible to capture given Salesforce does not update modstamp or system field when formula field changes), or someone could easily change the logic of the formula within Salesforce rendering all the data you backed up stale.
  • Salesforce also has restrictions on querying formula fields, and the more formula fields you have on an object, the more Salesforce will require GRAX to “break up” (fragment) the queries, which leads to a much longer time to back up.

Taking these factors into account, GRAX does not recommend enabling the Formula Field Backup toggle. Please speak with your Support or Implementation rep to discuss further if you have questions on specific use cases.

GRAX recommends that you do NOT enable the `Formula Field Backup` toggle to optimize performance, API usage, and data lake integrity.GRAX recommends that you do NOT enable the `Formula Field Backup` toggle to optimize performance, API usage, and data lake integrity.

GRAX recommends that you do NOT enable the Formula Field Backup toggle to optimize performance, API usage, and data lake integrity.

Backup Actions

You can create, edit, delete, and deactivate a Backup all from the Schedule tab. Click here for an overview on navigating around and understanding the options you have on the Schedule tab.

Video Walkthroughs