Move-NAVTenant

The shared schema feature is for use in conjunction only with Microsoft hosted offerings in Dynamics 365, is unsupported in Dynamics NAV, and may not be used outside Dynamics 365.

Syntax

Move-NAVTenant
    [-Tenant] <TenantId>
    [-DestinationTenantDatabaseId] <TenantDatabaseId>
    [-ImmediateSourceTenantRemoval]
    [-ServerInstance] <String>
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Use the Move-NAVTenant cmdlet to move a tenant from its current database to another tenant database that is mounted on the same Dynamics NAV Server instance.

The source tenant must be mounted this server instance, and must be in Operational state. The destination tenant database must also be mounted on this server instance. The destination tenant database can contain other tenants.

During the move operation, tenant data will be copied from the source tenant database to the destination tenant database. This process will run in exclusive access mode, which means that all current sessions to the tenant will be disconnected, and new sessions to the tenant are prevented.

The tenant data in the source tenant database will then be deleted. You can use the -ImmediateSourceTenantRemoval parameter to specify how this data is deleted. If you omit the parameter, the data is deleted by a system task in Task Scheduler. The task will run in the time period that is defined by the server instance configuration settings: TaskSchedulerSystemTaskStartTime and TaskSchedulerSystemTaskEndTime. If you use the -ImmediateSourceTenantRemoval parameter, the data is deleted immediately without using the system task.

The result of running the cmdlet is as follows:

  • If the move operation is successful, the tenant is mounted on the destination tenant database in the Operational state. A record of the original tenant remains mounted on the source tenant database, except its name has been suffixed with a GUID. For example, 'tenant1' becomes 'tenant10dda87eff3dd40af9be4748ea6987491'. Use the Get-NAVTenant cmdlet to get the new name. The original tenant will have the state 'Soft Deleted', 'Deleting', or 'Deleted' so it cannot be accessed. To remove this tenant from the source tenant database, wait until the state is 'Deleted', then manually dismount it by using the Dismount-NAVTenant cmdlet.
  • If the move operation fails, the tenant data is restored in the source tenant database and the tenant will have the same state it had before the move operation. The destination tenant database will not contain any of the tenant's data.

Examples

---------- EXAMPLE 1 ----------

Move-NAVTenant -ServerInstance NavServer -SourceTenant TenantA -DestinationDatabase DatabaseB

This example moves 'TenantA' from its current tenant database to tenant database 'DatabaseB' on server instance 'NavServer'. Both tenant 'TenantA' and tenant database 'DatabaseB' must be mounted on the server instance 'NavServer'.

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DestinationTenantDatabaseId

Specifies the ID of the tenant database to which you want to move the tenant. This tenant database must be mounted on the server instance.

Type:TenantDatabaseId
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ImmediateSourceTenantRemoval

Specifies to delete the source tenant, its companies, and global data immediately after the data has been copied to the destination database; instead of using a scheduled system task.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServerInstance

Specifies the name of a Dynamics NAV Server instance, for example, DynamicsNAV or myinstance. You can specify either the full name of an instance, such as MicrosoftDynamicsNavServer$myinstance or the short name such as myinstance.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Tenant

Specifies the ID of the tenant that you want to move to another tenant database. This tenant must be mounted on the server instance.

Type:TenantId
Aliases:Id
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.Dynamics.Nav.Types.TenantId

By property name: Tenant

Microsoft.Dynamics.Nav.Types.TenantDatabaseId

By property name: DestinationTenantDatabaseId

System.Management.Automation.SwitchParameter

By property name: ImmediateSourceTenantRemoval

System.String

ServerInstance