Dynamics NAV kan met tenants werken. Dat wil zeggen dat de applicatie los staat van de data, en dat je met een applicatiedatabase meerdere data-databases kunt gebruiken. Om het op te zetten kun je een bestaande database gebruiken. Ik gebruik het volgende script:
import-module 'C:\Program Files\Microsoft Dynamics NAV\100\Service\Microsoft.Dynamics.Nav.Management.dll'
$srvInstance='CronusNLtest3'
$dbServer='localhost'
$dbInstance='SQLServer2016dev'
$dbName='CronusNLtest3'
$appDbName='CronusNLtest3 app'
$tenantID='tenant1'
# Don't change anything below this line
# stop the running service
Set-NAVServerInstance -ServerInstance $srvInstance -stop
# Export the application from the database to the new Application DB
Export-NAVApplication –DatabaseServer $dbServer –DatabaseInstance $dbInstance –DatabaseName $dbName –DestinationDatabaseName $appDbName | Remove-NAVApplication –DatabaseName $dbName -Force
# Change the serverconfiguration: Clear the databasename
Set-NAVServerConfiguration –ServerInstance $srvInstance –element appSettings –KeyName 'DatabaseName' –KeyValue ''
# Start the service
Set-NAVServerInstance -ServerInstance $srvInstance -start
# Mount the application database
Mount-NAVApplication –ServerInstance $srvInstance –DatabaseServer $dbServer\$dbInstance –DatabaseName $appDbName -Force
# Mount the tenant database
Mount-NAVTenant -ServerInstance $srvInstance -ID $tenantID -databaseserver $dbServer\$dbInstance -DatabaseName $dbName -OverwriteTenantIdInDatabase -AllowAppDatabaseWrite
Zorg ervoor dat niemand in de database zit.
Als je meerdere tenants wilt maken kun je de tenantdatabase kopieren, en met het laatste commando een nieuwe tenant aanmaken. UIteraard moet je dan wel een andere tenantID gebruiken.