Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bei der Umgebungskopie für Finanz- und Betriebsanwendungen handelte es sich traditionell um eine vollständige Kopie, d. h. sie umfasst die gesamte Datenbank mit Konfiguration, Stammdaten und Transaktionen. Dies ist zwar für das Debuggen bestimmter Situationen hilfreich, hat jedoch als Nebeneffekt einen erheblichen Anstieg des Speicherverbrauchs sowohl für Finanz-und Betriebs-Apps als auch für Dataverse.
In diesem Tutorial lernen Sie, wie Sie:
- Quellumgebung vorbereiten
- Umgebung in das Ziel kopieren
Als Beispiel für dieses Szenario nehmen wir an, dass ein Kunde den Speicherverbrauch in seinen Sandbox- und einheitlichen Entwicklerumgebungen reduzieren möchte, wo nicht 100 % der Transaktionen aus der Produktion erforderlich sind. Dazu kopiert der Kunde seine Produktionsumgebung direkt in seine einheitliche Entwicklerumgebung und gibt an, dass Transaktionen übersprungen werden sollen.
Bevor Sie beginnen
Die Zielumgebung in diesem Tutorial ist immer eine vereinheitlichte Umgebung, die Finanz- und Betriebs-App enthält, die von Dataverse gehostet werden. Informationen zum Bereitstellen einer dieser Umgebungen finden Sie im Tutorial: Bereitstellen einer neuen Umgebung mit einer ERP-basierten Vorlage.
Die Quellumgebung in diesem Tutorial kann entweder eine von Lifecycle Services gesteuerte Umgebung oder eine andere von Dataverse gehostete vereinheitlichte Umgebung sein.
Stellen Sie sicher, dass sowohl die Quell- als auch die Zielumgebung in derselben Region bereitgestellt werden. Weitere allgemeine Informationen zum Kopieren von Umgebungen finden Sie unter Umgebung kopieren.
Tranksaktionstabellen
Um sicherzustellen, dass die resultierende Umgebung nach Abschluss des Kopiervorgangs noch funktionsfähig ist, müssen alle Transaktionstabellen gemeinsam gelöscht werden. Aufgrund des stark normalisierten Schemas von Finanz- und Betriebs-Apps kann das Überspringen auch nur einer Tabelle in einer verbundenen Beziehung nach Abschluss des Kopiervorgangs zu fehlerhaftem Verhalten in der Benutzeroberfläche und in der Geschäftslogik führen.
Durch die Verwendung der in den X++-Tabellen vorhandenen Metadaten können alle Transaktionstabellen und die zugehörigen Tabellen im Rahmen einer transaktionslosen Kopie abgeschnitten werden. Dies schließt benutzerdefinierte Tabellen und Tabellen aus ISV-Quellen ein, solange die Eigenschaft Tabellengruppe eine der folgenden ist:
- Transaktion (4)
- WorksheetHeader (5)
- WorksheetLine (6)
- Arbeitsblatt (9)
- TransactionHeader (10)
- TransactionLine (11)
- Staging (12)
Anforderungen
An der Quellumgebung muss nach dem 3. April 2024 eine Wartungsaktion ausgeführt worden sein, z. B. eine DBSync, die Installation eines Software-Bereitstellungspakets (ggf. über Lifecycle Services) oder ein über die Power Platform-CLI bereitgestelltes vereinheitlichtes Paket, wenn die Quellumgebung vom Power Platform Admin Center verwaltet wird.
Im nächsten Schritt benötigen Sie außerdem die Details der Quell- und Zielumgebungen, einschließlich der jeweiligen Umgebungs-ID.
Kopieren über PowerShell
Öffnen Sie die PowerShell-Konsole und führen Sie die folgenden Befehle aus, um die Umgebung zu kopieren. Weitere Informationen zur Installation und Verwendung des PowerShell-Moduls finden Sie unter Erste Schritte mit PowerShell für Power Platform-Administrierende.
#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
Der obige PowerShell-Befehl führt eine vollständige Kopie zwischen der Quell- und der Zielumgebung aus, sodass Code, Software, Master- und Referenzdaten kopiert werden können. Die Transaktionstabellen werden dann gekürzt, bevor die Umgebung dem Administrator zur Verfügung gestellt wird.