Tenant Snapshots

In MYOB Acumatica, you can create tenant snapshots containing your tenant's full or partial data. Snapshots can be saved locally in the same database, or at a specified location. Later, any snapshot can be imported and restored to another tenant.

Snapshots can be used as tenant templates when you create new tenants in MYOB Acumatica that are similar in configuration. Also, you can use snapshots to set up a test environment for your tenant where you test the configuration changes required for your tenant before you apply them to your live tenant.

Snapshot Restrictions

To avoid the increase in database size and performance issues that can occur when a large number of snapshots exist in the system, each MYOB Acumatica site receives an entitlement of five snapshots. (The entitlement is per site, not per company.) The snapshot entitlement and current number of snapshots is displayed on the Tenants (SM.20.35.30) form.

The ability to take and restore snapshots is restricted by user roles—only users with the "Lockout Manager" or "Snapshot User" roles can manage snapshots.
Note:
Only the PartnerSupport user and users with the "Full User" licence type can be assigned these roles.

Snapshots can only be taken or restored when the MYOB Acumatica system is in lockout mode, which prevents users without sufficient privileges from logging in. System lockouts are initiated on the Schedule Lockout (MB.SM.20.35) form. The "Lockout Manager" or "Snapshot User" role is required to schedule a lockout.

Taking Snapshots

You can take a snapshot of the tenant configuration and data by using the Tenants (SM203520) form. For a snapshot, you specify which data you want to include by selecting one of the available content options, which are described in detail in Selecting the Content of Snapshots.

Data from published customizations is a part of the database and is always included in snapshots.

You can take a virtually unlimited number of snapshots. The only limitation is disk space: Snapshots are stored in the database, thus occupying disk space. We recommend that before you take a snapshot, you open the Space Usage (SM203525) form and make sure that you have enough free space in the MYOB Acumatica database. For details, see SM__con_Database_Size_Monitoring.html.

Note:
When you take a snapshot, any previously taken snapshots are not included in the new snapshot.

The process of creating a snapshot may take a significant amount of time because the database tables are copied one by one for a snapshot, and this process sometimes results in errors. For example, a user may introduce changes to documents that have been partially backed up; consequently, the data in the snapshot would be corrupted. Therefore, if you intend to restore the snapshot in a production system, we strongly recommend that you create snapshots in maintenance mode (that is, when the system is locked out for maintenance, as described in To Schedule the System Lockout).

For testing purposes, you can create snapshots without first locking out the system. In this case, a warning message will appear, and the system will mark this snapshot as unsafe. (The Is Safe column on the Snapshots tab of the Tenants form reflects whether the snapshot is safe or not.)

Note:
Because the process of taking a snapshot could result in errors, we do not recommend that you use snapshots to back up data. We recommend that you instead use database management applications to back up the database of your MYOB Acumatica instance.

For details about taking a snapshot, see SM__how_Snapshots_Add.html.

Selecting the Contents of Snapshots

When you take a snapshot, you select one of the content options, depending on the intended use of the snapshot. The following content options are available by default:

  • Full: All data related to the tenant
  • Full except Attachments and Wiki: The full data related to the tenant, excluding attachments and wiki articles
  • Full except Attachments: The full data related to the tenant, excluding attachments
  • Settings and Business Accounts: The tenant's complete set of configuration settings and business accounts, including attachments
  • Settings and Business Accounts except Attachments: The tenant's complete set of configuration settings and business accounts, excluding attachments
  • Settings except Attachments: The tenant's configuration settings, excluding attachments
  • Settings only: The tenant's configuration settings, including attachments

The contents of the snapshot—that is, the SQL database tables that are included in the snapshot—are defined by snapshot configuration files with the .esc extension. Usually these files can be located in %Program Files%\MYOB Acumatica\<instance name>\App_Data\SnapshotConfigs, where <instance name> is the name of the application instance website.

To preserve sensitive data—for example, user passwords and settings for connecting with third-party applications—you can modify snapshot configuration files to preserve such data, down to SQL table fields. You can either exclude tables and table fields from snapshots or replace data in table fields with predefined values. For examples of configuration settings, see Snapshots: Examples of Sensitive Data Being Excluded from Snapshots.

Storing Snapshots

Once a snapshot is created, it appears on the Snapshots tab of the Tenants (SM203520) form. Tenant snapshots are stored in the database as tenants with special tenant IDs (negative integers). When you update the application and the database, the stored snapshots are updated as well.

To free disk space, you can export snapshots to store them in an external storage, and then delete obsolete snapshots. Exported snapshots can later be imported back into the application. For details, see Exporting Snapshots and Importing Snapshots below.

Note:
Snapshots stored in an external storage are not updated when you update your application instance.

Deleting a snapshot is a permanent operation—you won't be able to recover a deleted snapshot. For details, see SM__how_Snapshots_Delete.html.

Exporting Snapshots

To be exported to external storage, a snapshot should be prepared—that is, the snapshot's data should be saved to a file. When a snapshot is exported, the system copies the prepared file to an external storage; the snapshot itself remains in the database. For the detailed procedure, see SM__how_Snapshots_Export.html.

An exported snapshot is saved as an archive in .zip format. It contains the exported data in a collection of either .adb or .xml files and the description of the snapshot in manifest.xml. Manifest.xml carries the snapshot description generated when the snapshot was created and the version of the instance that has been used to prepare the snapshot before export.

Importing Snapshots

You can import an exported snapshot back to an MYOB Acumatica instance. The version of the snapshot (that is, the version of the instance used to take the snapshot) must match the version of the destination application instance.

Note:
You can check the snapshot version in manifest.xml.

We recommend that before you import a snapshot, you open the Space Usage (SM203525) form and make sure that you have enough free space in the MYOB Acumatica database. For details, see SM__con_Database_Size_Monitoring.html.

When you import a snapshot, you can choose whether you want to import customization data or not; if the imported snapshot includes customization data, the data will be automatically restored when you restore the snapshot.

Thus, if you import the snapshot in a tenant in the same database as the source tenant, you should include all customization data because any customization is database-wide. If you import the snapshot to another instance with a different set of customizations applied, do not include customization data in the snapshot, or restoration of the snapshot will likely fail.

Customizations may include changes in the database structure (such as changing a field length). These changes may cause conflicts during the insertion of data from the snapshot to your current MYOB Acumatica instance (for example, if the length of the inserted field exceeds the maximum length in the database of your current MYOB Acumatica instance). You can select whether you want the system to preliminarily match the data from the snapshot with the database structure in your current MYOB Acumatica instance, to reveal any conflicts before the system imports the snapshot . When this check is performed and there are conflicts, the system returns an error message that lists all fields from the snapshot that have caused the conflicts. You can resolve these conflicts by changing the database structure in your current MYOB Acumatica instance.

An imported snapshot is stored in the database, and you can restore the data from the snapshot whenever you want. For the detailed procedure, see SM__how_Snapshots_Import.html.

Toggling the Visibility of Snapshots

In a multitenant configuration, you can sign in to one tenant, and then take a snapshot of any tenant available to you, be it the tenant you signed in to or another tenant that you can access. The snapshots you take are stored within the tenant you are signed in to (the base tenant); you won't be able to access them if you sign in to another tenant.

Within the base tenant, when a snapshot is taken, it is associated with its source tenant—that is, you must select the tenant the snapshot is associated with in the Tenant ID box of the Summary area of the Tenants (SM203520) form to see the snapshot in the list on the Snapshots tab. The visibility of the snapshot is normal; the associated tenant is displayed for the snapshot in the Tenant ID column on the Snapshots tab. To make the snapshot available regardless of the selected tenant, you can increase the visibility of the snapshot. Snapshots with increased visibility are available on the Snapshots tab regardless of the tenant you select in the Tenant ID box of the Summary area; the Tenant ID column on the Snapshots tab is blank for such snapshots. If you decrease the visibility of a snapshot, the snapshot is associated with the tenant selected on the form. For details, see SM__how_Snapshots_Visibility.html.

Restoring Snapshots

By restoring a snapshot, you set your tenant data to its state when the snapshot was taken.

CAUTION:
In the destination tenant, a restored snapshot overwrites all the data that is not specifically protected. For more information, see Selecting the Contents of Snapshots section in this topic.

You can restore a snapshot to only the tenant you are signed in to, regardless of the origin of the snapshot. If the snapshot from which you want to restore data includes customization data, the customization data will be restored automatically.

Note:
If you are going to restore the snapshot in an external database where a different customization set has been applied, the restore operation will likely fail.

If you restore an unsafe snapshot (one that was not taken in maintenance mode), the system displays a warning message, and adds a warning to the Help > About... box. We do not recommend that you restore unsafe snapshots in production system because these snapshots can create corrupted data.

We recommend that before you restore a snapshot, you open the Space Usage (SM203525) form and make sure that you have enough free space in the MYOB Acumatica database. For details, see SM__con_Database_Size_Monitoring.html.

For details, see SM__how_Snapshots_Restore.html.

Restoration Limitations

Each instance of MYOB Advanced has a deployment type, which will be one of:
  • Production SAAS - used for an MYOB SaaS/cloud deployment.
  • Sandbox SAAS - used for a client's sandbox deployment within the MYOB SaaS environment, for testing as and when required.
  • Upgrade SAAS - used for a client's sandbox deployment within the MYOB SaaS environment, for testing their specific setup in the next version of MYOB Advanced.
  • Trial SAAS - used with a temporary licence for trials of the product where appropriate.
  • Partner SAAS - used where a licence is provided to an MYOB Advanced Business Partner for demonstration purposes, for use exclusively by the partner.
  • Partner LOCAL - used where the licence is provided to a partner for demonstration and certification training purposes, for use exclusively by the partner.
The deployment type is recorded in each company snapshot, and snapshots are restricted in terms of which deployment type(s) they are allowed to be restored to. The following table shows which deployment types are allowed to be restored to which. Rows represent the Deployment Type that is being restored and columns represent the target Deployment Type that the snapshot is being restored to.
Deployment Type Production SAAS Sandbox SAAS Upgrade SAAS Trial SAAS Partner SAAS Partner Local
Production SAAS Allowed if the Installation ID matches Allowed Allowed Not allowed Not allowed Allowed
Sandbox SAAS Allowed when Export Mode is "Settings only" Allowed Allowed Not allowed Not allowed Allowed
Upgrade SAAS Not allowed Allowed Allowed Not allowed Not allowed Allowed
Trial SAAS Not allowed Not allowed Not allowed Allowed Not allowed Allowed
Partner SAAS Not allowed Not allowed Not allowed Allowed Allowed Allowed
Partner Local Allowed when Export Mode is "Settings only" Allowed Not allowed Allowed Allowed Allowed