Споделяне чрез


Въвеждащ курс: Извършване на копиране без транзакции между среди

Копието на средата за приложения за финанси и операции традиционно е пълно копие, което означава, че включва цялата база данни с конфигурация, основни данни и транзакции. Въпреки че е полезно за отстраняване на грешки в конкретни ситуации, това има страничен ефект от значително увеличаване на потреблението на място за съхранение както за приложения за финанси и операции Dataverse.

Диаграма на процеса на копиране.

В този урок научете как да:

  • Подгответе изходната среда
  • Копирайте средата в целта

Като пример за този сценарий да приемем, че клиентът би искал да намали потреблението си за съхранение в ограничителния режим и унифицираните среди за разработчици, където няма нужда да има 100% от транзакциите от производството. За да постигне това, клиентът копира производствената си среда директно в своята унифицирана среда за разработчици и уточнява, че транзакциите трябва да бъдат пропуснати.

Преди да започнете

Целевата среда в този урок винаги е унифицирана среда, която съдържа приложения за финанси и операции, хоствани от Dataverse. За да научите как да разположите една от тези среди, вижте Урок: Осигуряване на нова среда с шаблон, базиран на ERP .

Изходната среда в този урок може да бъде или среда, контролирана от Lifecycle Services, или може да бъде друга унифицирана среда, хоствана от Dataverse.

Уверете се, че и изходната, и целевата среда са осигурени в един и същ регион. За обща информация относно средите за копиране вижте Копиране на среда.

Транзакционни таблици

За да се гарантира, че получената среда все още функционира след завършване на копието, всички транзакционни таблици трябва да бъдат изчистени заедно. Поради силно нормализираната схема на приложения за финанси и операции, пропускането дори на една таблица в обединена релация може да доведе до нарушаване на поведението в потребителския интерфейс и в бизнес логиката след приключване на копирането.

Чрез използване на метаданни, присъстващи в таблиците X++, всички таблици с транзакции и свързаните с тях таблици могат да бъдат съкратени като част от копиране без транзакции. Това включва персонализирани таблици и таблици с източник от независими доставчици на софтуер, стига свойството Група таблици да е едно от следните:

  • Транзакция (4)
  • Работен листЗаглавие (5)
  • Работен листРед (6)
  • Работен лист (9)
  • Заглавка на транзакция (10)
  • Транзакционна линия (11)
  • Постановка (12)

Предварителни изисквания

Средата източник трябва да е имала действие за обслужване, извършено върху нея след 3 април 2024 г., като например DBSync, инсталиране на софтуерен пакет за внедряване (чрез Lifecycle Services, ако е приложимо) или унифициран пакет, внедрен чрез Power Platform CLI, ако средата източник се управлява от Power Platform центъра за администриране.

Също така се нуждаете от подробности за изходната и целевата среда, включително ИД на средата за всяка, в следващата стъпка.

Копиране чрез PowerShell

Заредете конзолата PowerShell и изпълнете следните команди, за да копирате средата. За повече информация как да инсталирате и използвате модула PowerShell вижте Първи стъпки с PowerShell за 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

Горната команда PowerShell изпълнява пълно копие между източника и целевата среда, което позволява копирането на кода, софтуера, главния и референтните данни. След това таблиците с транзакции се съкращават, преди средата да бъде предоставена на администратора.