Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Tradicionalmente, a cópia de ambiente para aplicações de finanças e operações é uma cópia completa, o que significa que inclui toda a base de dados de configuração, dados globais e transações. Embora útil para depurar situações específicas, isto tem um efeito colateral de aumentar significativamente o consumo de armazenamento para aplicações de finanças e operações Dataverse.
Neste tutorial, saiba como:
- Preparar o ambiente de origem
- Copiar o ambiente para o destino
Como exemplo deste cenário, suponha que um cliente pretende reduzir o consumo de armazenamento nos respetivos ambientes de sandbox e de programação unificados, onde não há necessidade de ter 100% das transações de produção. Para o conseguir, o cliente copia o ambiente de produção diretamente para o ambiente de programação unificado e especifica que as transações devem ser ignoradas.
Antes de começar
O ambiente de destino neste tutorial é sempre um ambiente unificado que contém aplicações de finanças e operações hospedadas pelo Dataverse. Para saber como implementar um destes ambientes, consulte Tutorial: Aprovisionar um novo ambiente com um modelo baseado em ERP.
O ambiente de origem neste tutorial pode ser um ambiente controlado pelo Lifecycle Services ou pode ser outro ambiente unificado hospedado por Dataverse.
Certifique-se de que os ambientes de origem e de destino estão aprovisionados na mesma região. Para obter informações gerais sobre como copiar ambientes, consulte Copiar um ambiente.
Tabelas transacionais
Para garantir que o ambiente resultante ainda esteja funcional depois de concluída a cópia, todas as tabelas transacionais têm de ser limpas em conjunto. Devido ao esquema altamente normalizado das aplicações de finanças e operações, ignorar até mesmo uma tabela numa relação unida pode resultar em comportamento errático na interface de utilizador e na lógica de negócio após a conclusão da cópia.
Utilizando metadados presentes nas tabelas X++, todas as tabelas de transações e as respetivas tabelas relacionadas podem ser truncadas como parte de uma cópia sem transações. Isto inclui tabelas personalizadas e tabelas com origem em ISV, desde que a propriedade Grupo de Tabelas seja uma das seguintes:
- Transação (4)
- WorksheetHeader (5)
- Linha da Folha de Cálculo (6)
- Folha de Cálculo (9)
- TransactionHeader (10)
- TransactionLine (11)
- Teste (12)
Pré-requisitos
O ambiente de origem tem de ter tido uma ação de manutenção realiza nele após 3 de abril de 2024, tal como um DBSync, instalação de pacote implementável de software (através do Lifecycle Services, se aplicável) ou um pacote unificado implementado através da Power Platform CLI, se o ambiente de origem for gerido pelo centro de administração do Power Platform.
Também precisa dos detalhes dos ambientes de origem e de destino, incluindo o ID do Ambiente de cada um, no passo subsequente.
Copiar através do PowerShell
Carregue a consola do PowerShell e execute os seguintes comandos para copiar o ambiente. Para obter mais informações sobre como instalar e utilizar o módulo do PowerShell, consulte Introdução ao PowerShell para Administradores do Power Platform.
#Install the module
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
# Set variables for your session
$TenantId = "YOUR_TENANT_GUID_FROM_Microsoft Entra ID"
$SPNId = "YOUR_AZURE_APPLICATION_REGISTRATION_CLIENT_ID"
$ClientSecret = "YOUR_AZURE_APPLICATION_CLIENT_SECRET"
$SourceEnvironmentID = "YOUR_SOURCE_ENVIRONMENT_ID_HERE"
$TargetEnvironmentID = "YOUR_TARGET_ENVIRONMENT_ID_HERE"
Write-Host "Creating a session against the Power Platform API"
Add-PowerAppsAccount -Endpoint prod -TenantID $TenantId -ApplicationId $SPNId -ClientSecret $ClientSecret
$copyToRequest = \[pscustomobject\]@{
SourceEnvironmentId = $SourceEnvironmentID
TargetEnvironmentName = "Copied from source"
CopyType = "FullCopy"
SkipAuditData: true
ExecuteAdvancedCopyForFinanceAndOperations: true
}
Copy-PowerAppEnvironment -EnvironmentName $TargetEnvironmentID -CopyToRequestDefinition $copyToRequest
O comando do PowerShell acima executa uma cópia completa entre o ambiente de origem e o ambiente de destino, o que permite que o código, o software, o principal e os dados de referência sejam copiados. Em seguida, as tabelas de transações são truncadas antes de o ambiente ser disponibilizado para o administrador.