I saw this question popping up frequently on different forums also recently: what are the main differences when creating a Dynamics 365 Business Central Docker container by using the Sandbox artifacts vs by using the on-premise artifacts?
I think that every reader of this blog knows that with the BcContainerHelper Powershell module you can retrieve the latest artifacts of a particular localization by using the Get-BCArtifactUrl command.
In particular, this command retrieves the latest sandbox image for the IT localization:
$artifactUrl = Get-BCArtifactUrl -country "it"
and this command retrieve the latest on-premise image of the IT localization:
$artifactUrl = Get-BCArtifactUrl -country "it" -type onprem
What are the differences between these two containers?
In the following table I’ve summarized the main topics:
SANDBOX ARTIFACTS | ONPREM ARTIFACTS |
Multitenant by default | Not multitenant |
IsSaaS (from “Environment Information” codeunit) returns TRUE | IsSaaS returns FALSE |
IsSandbox returns TRUE | IsSandbox returns FALSE |
IsSaasInfrastructure returns FALSE (as on-prem) | IsSaasInfrastructure returns FALSE |
IsOnPrem returns FALSE | IsOnPrem returns TRUE |
Task scheduler is automatically turned on | Task scheduler is turned off. You can turn it on by using the enableTaskScheduler parameter in BcContainerHelper |
Uses entitlements exactly like in the online environment | Not using entitlements |
Updated daily | Updated monthly |
Remember also that demo data are different between the two containers and that you can have insider builds from sandbox containers only.
UPDATE: Freddy remembers me that there’s a new parameter on BcContainerHelper for the New-BcContainer cmdlet: runSandboxAsOnPrem. This parameter will attempt to run sandbox artifacts as onprem (will only work with version 18 and later). Demo data will not change.
If I forgot something, please contribute to update the above table 😉 This can be helpful for many…