When you click on the GRAX
Schedule tab, you will notice two subtabs:
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
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.
First specify a
Namefor 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.
Currently, the two options are
Standard Backup and
Files (there will also be an option for
History if your org has enabled these). The selection will determine which object list displays to you.
Standard Backupwill show you all the objects you are used to seeing in SF, except "File" objects.
Filesoption 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.
Historyoption will show you all activated and existing history tables, assuming they have at least 1 row.
Tagoption will show you all enabled tag objects.
Once you select one of the backup types, the object list will begin loading.
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:
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.
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.
Date Range Selection
By default, when you select multiple objects, there will be a single
Audit Date Fieldto 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.
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 Selectionas it does not necessarily make sense to incrementally back up records when you set the criteria with Start and End Date.
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 Userssection 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.
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.
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.
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.
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.
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.
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
Updated 5 months ago