When using a sandbox environment, you may need to copy over data or configurations from another environment. Once you have set up your sandbox environment, you can use the Copy environment option in the Microsoft Power Platform admin center to copy your Engage environment and data between environments. You can select two levels of copy: Everything or Customizations and schemas only.
Before You Begin
Note: The target environment will be listed in the Select environment to overwrite drop-down. If you don't see an environment, that means you can't overwrite it. For example, you can't overwrite production environments so you won't see any environments of type production.
- You can only copy to an environment in the same tenant and region.
- Components that have not been added to a solution (including canvas apps, flows, custom connectors, and connections) might not be part of the copy. You should validate your apps post copy.
- You can't copy from or to a default-type environment.
- Copy and restore operations can take up to 8 hours, unless a lot of data needs to be copied or restored, in which case they could take up to 24 hours.
Copy Over Everything Option
An Everything copy includes all application data, users, and customizations, and schemas from the source environment and is suitable for:
- User acceptance testing
- Upgrade testing
- Preview in production
- Training
After the Everything copy is complete, log into the sandbox environment and make the necessary changes to make sure that production external services won't be impacted by the sandbox environment. Once changes are complete, turn off administration mode and enable background services. You are now able to use the Everything copy sandbox environment to do testing and later manually import the solution into production.
Copy Over Customizations and Schemas Only
Customizations and schemas copy only includes users, customizations, and schema from the source environment and is suitable for:
- Iterative team development
- Partner/ISV solutions
- Proof of concept
Customization and Schemas Only copy does not contain any production data or users. After modifying and enabling some of the plug-ins, the developer sandbox environment functions the same and is isolated from the production application. After a successful round of testing and signoffs, the changes can be manually deployed to production.
The following tables will be truncated when you do a customizations and schemas only copy:
Tables | ||
---|---|---|
Account | InterProcessLock | SocialActivity |
AccountLeads | Invoice | SocialInsightsConfiguration |
ActivityMimeAttachment | InvoiceDetail | SocialProfile |
ActivityParty | KnowledgeArticle | SqlEncryptionAudit |
ActivityPointer | KnowledgeArticlesCategories | Subscription |
AdvancedSimilarityRule | KbArticle | SubscriptionClients |
Annotation | KbArticleComment | SubscriptionManuallyTrackedObject |
AnnualFiscalCalendar | KnowledgeSearchModel | SubscriptionStatisticsOffline |
Appointment | Lead | SubscriptionStatisticsOutlook |
Attachment | LeadAddress | SubscriptionSyncEntryOffline |
Audit | LeadCompetitors | SubscriptionSyncEntryOutlook |
AzureServiceConnection | LeadProduct | SubscriptionSyncInfo |
BulkDeleteFailure | Letter | SystemApplicationMetadata |
BulkOperation | License | SystemUserBusinessUnitEntityMap |
BulkOperationLog | List | SystemUserLicenses |
BusinessProcessFlowInstance | ListMember | Task |
BusinessUnitNewsArticle | MailboxStatistics | TeamProfiles |
Campaign | MonthlyFiscalCalendar | TeamRoles |
CampaignActivity | Notification | Territory |
CampaignActivityItem | Opportunity | TimeZoneLocalizedName |
CampaignItem | OpportunityClose | Topic |
CampaignResponse | OpportunityCompetitors | TopicHistory |
Competitor | OpportunityProduct | TopicModel |
ChannelAccessProfile | OrderClose | TopicModelConfiguration |
CompetitorAddress | OrganizationUI | TopicModelExecutionHistory |
CompetitorProduct | OwnerMapping | TraceAssociation |
CompetitorSalesLiterature | PhoneCall | TraceLog |
Connection | PluginTypeStatistic | TraceRegarding |
Contact | PluginTraceLog | UnresolvedAddress |
ContactInvoices | Post | UntrackedEmail |
ContactLeads | PostComment | UserApplicationMetadata |
ContactOrders | PostFollow | UserEntityInstanceData |
ContactQuotes | PostLike | UserEntityUISettings |
Contract | PostRegarding | UserFiscalCalendar |
ContractDetail | PostRole | UserForm |
CustomerAddress | PriceLevel | UserQueryVisualization |
CustomerOpportunityRole | PrincipalObjectAccess | WizardAccessPrivilege |
CustomerRelationship | PrincipalObjectAttributeAccess | WorkflowLog |
DelveActionHub | ProcessSession | WorkflowWaitSubscription |
Discount | Product | BusinessDataLocalizedLabel |
DiscountType | ProductAssociation | DynamicProperty |
DocumentIndex | ProductPriceLevel | ChannelPropertyGroup |
DuplicateRecord | ProductSalesLiterature | DynamicPropertyAssociation |
ProductSubstitute | DynamicPropertyInstance | |
EmailHash | QuarterlyFiscalCalendar | DynamicPropertyOptionSetItem |
EmailSearch | QueueItem | Position |
Entitlement | Quote | ChannelProperty |
EntitlementChannel | QuoteClose | RollupJob |
EntitlementContacts | QuoteDetail | SLAKPIInstance |
EntitlementProducts | RecurrenceRule | SystemUserManagerMap |
EntitlementTemplate | TextAnalyticsEntityMapping | SystemUserSyncMappingProfiles |
EntitlementTemplateChannel | RecurringAppointmentMaster | OfficeGraphDocument |
EntitlementTemplateProducts | RelationshipRole | SimilarityRule |
ExchangeSyncIdMapping | RelationshipRoleMap | BookableResource |
BookableResourceBookingExchangeSyncIdMapping | ReplicationBacklog | BookableResourceGroup |
ExternalParty | SalesLiterature | BookableResourceBooking |
ExternalPartyItem | SalesLiteratureItem | BookableResourceBookingHeader |
Fax | SalesOrder | BookableResourceCategory |
FixedMonthlyFiscalCalendar | SalesOrderDetail | BookableResourceCharacteristic |
Goal | SdkMessageProcessingStepSecureConfig | BookableResourceCategoryAssn |
GoalRollupQuery | SemiAnnualFiscalCalendar | Characteristic |
Import | Service | RatingValue |
ImportData | ServiceAppointment | RatingModel |
ImportFile | ServiceContractContacts | BookingStatus |
ImportLog | SharePointData | RecommendedDocument |
Incident | SharePointDocument | EmailSignature |
IncidentResolution | SharePointDocumentLocation | UserSearchFacet |
IntegrationStatus | SharePointSite | GlobalSearchConfiguration |
Copy An Environment
1. Go to https://admin.powerplatform.microsoft.com/ and sign in using Environment Admin or System Administrator role credentials.
Note: Environment Admins or System Administrators can copy all available environments. System administrators can copy environments for which they have the Environment Admin or System Administrator role.
2. Select Environments and select an environment to copy.
3. Select the desired copy over level, Everything or Customizations and schemas only.
4. If you selected Everything to copy, select whether to copy over audit logs. Copying audit logs is not recommended.
5. Select the target environment.
Warning: The target environment will be deleted and replaced with a copy of the data and customizations from the source environment. You won’t be able to recover any deleted data.
6. To restrict environment access to people in a security group select Edit.
7. Edit the details for the copied environment and select Copy.
8. Select Confirm to overwrite the target environment.
The overwrite process starts.
Once the copy process is complete, the target environment is placed in Administration mode and background operations are disabled. The next section describes recommended Administrator actions for the newly created copy (target) environment.
Next Steps After Copying An Environment
To ensure the newly created copy (target) environment doesn't impact your production environment, once the copy operation is complete, two things happen:
-
The newly created copy environment is placed in administration mode. Only those with System Administrator security roles can sign in and manage the copy environment. Regular users can't sign in and use the copy environment.
-
Background operations are disabled in the copy environment. Disabled operations include workflows and synchronization with Microsoft Exchange.
You should review the status of application components in the copy environment with external connections such as email, plug-ins, custom workflow activities, etc. Review these and consider what action to take:
-
Disable the component.
-
Redirect the component to another service environment such as one running Exchange or SharePoint.
-
Do nothing – leave the component as is in the copy environment. For example, you might decide to allow Yammer posting to both the copy and production environments.
Here are some possible application components in the copy environment that could have external connections and therefore could impact services with the same connections in your production environment.
-
Email - A mailbox can't be synced with two different environments. For an Everything copy environment, the user mailboxes in the copy environment must be disabled so the mailboxes don't attempt to send or receive email, or track appointments, contacts, or tasks. Set synchronization for the following to None.
- Incoming Email
- Outgoing Email
- Appointments, Contacts, Tasks
SharePoint - Deactivate or redirect SharePoint to a sandbox SharePoint environment to prevent impacting documents managed by SharePoint. Go to Settings > Documentation Management > SharePoint Sites. Select your site, and then select Deactivate.
-
Platform extensibility - Consider disabling the following that could be running in the copy environment and impacting external service components.
- Server-side plug-ins.
- Workflow custom activity.
-
Client extensibility - Review the following.
- Client-side JavaScript. Take a look at your JavaScript and HTML web resources for read/write operations that could impact external services.
- IFRAMES. Determine if the target of an IFRAME is a production environment.
-
Dataverse search - Confirm that search returns the expected results. If the results aren't accurate, you can turn off the Dataverse search for 12 hours and then turn the Dataverse search back on again to refresh the index. You may enter a ticket to our Support Team if you're still experiencing issues.
-
Flows - In the target environment, existing solution flows will be deleted but existing non-solution flows will remain. Review the flows in the target environment to ensure that triggers and actions are pointing at the correct locations. Solution flows will be disabled so enable flows as needed.
-
Connection References - Connection References will require new connections. Create and set connections on Connection References.
-
Custom Connectors - Custom connectors should be reviewed and, if needed, deleted and reinstalled.
Note: When navigating to Activities Plus in a copied environment, you may encounter a license error. If so, please contact our Service Team via a support ticket and we will update your license information.