Edit

Share via


Tutorial: Perform a transaction-less copy between environments

Note

The new and improved Power Platform admin center is now generally available. We're currently updating the documentation to reflect these changes, so check back to ensure that you're getting the latest updates.

Environment copy for finance and operations apps has traditionally been a full copy, meaning it includes the entire database worth of configuration, master data, and transactions. While helpful for debugging specific situations, this full copy has a side effect of significantly increasing the storage consumption for both finance and operations apps and Dataverse.

Diagram of the copy process.

In this tutorial, learn how to:

  • Prepare the source environment
  • Copy the environment to the target

As an example of this scenario, assume that a customer would like to reduce their storage consumption on their sandbox and unified developer environments, where there's no need for having 100% of the transactions from production. To achieve this reduction, the customer copies their production environment directly to their unified, developer environment and specifies that transactions are to be skipped.

Before you begin

The target environment in this tutorial is always a unified environment that contains finance and operations apps hosted by Dataverse. To learn how to deploy one of these environments, go to Tutorial: Provision a new environment with an ERP-based template .

The source environment in this tutorial can either be an environment controlled by Lifecycle Services, or it can be another unified environment hosted by Dataverse.

  • Be sure that both the source and target environments are provisioned in the same region.
  • For general information on copying environments, go to Copy an environment.
  • For general information on copying unified environments, go to Copy a unified environment.

Transactional tables

To ensure that the resulting environment is still functional after the copy is completed, all of the transactional tables must be cleared together. Due to the highly normalized schema of finance and operations apps, skipping even one table in a joined relationship could result in breaking behavior in the user interface and in business logic after the copy finishes.

By using metadata present on the X++ tables, all transaction tables and their related tables can be truncated as part of transaction-less copy. This includes custom tables and ISV-sourced tables as long as the Table Group property is one of the following:

  • Transaction (4)
  • WorksheetHeader (5)
  • WorksheetLine (6)
  • Worksheet (9)
  • TransactionHeader (10)
  • TransactionLine (11)
  • Staging (12)

Begin the transactionless copy operation

In the Power Platform admin center, go to the source environment you want to copy. From there, select the Copy button in the command bar. In the window that appears, there's an option, Transactionless Copy, which by default is set to Yes, as shown in the image.

Diagram for transactionless copy option.

If you want transactions to be copied over to the target environment, change this option to No, as shown in the image.

Diagram for disabling transactionless copy.