Remove-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
Remove-NAVTenant
[-ServerInstance] <String>
[-Tenant] <TenantId>
[-ForceImmediateRemoval]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Use the Remove-NAVTenant cmdlet to permanently delete a tenant and all its company and associated global data from the tenant database. This operation is immediate and cannot be undone.
The tenant must be mounted on a multitenant Dynamics NAV Server instance and the tenant database that it belongs to must be a shared schema database.
There are two ways to delete the tenant and its data:
- If you don't use the -ForceImmediateRemoval parameter, the deletion is performed by a scheduled system task in task scheduler. The time of day that the task actually runs and deletes the tenant and its data is determined by the Dynamics NAV Server instance settings: TaskSchedulerSystemTaskStartTime and TaskSchedulerSystemTaskEndTime. Before the system tasks runs, the tenant state is 'SoftDeleted'. While the system task is running, the state is 'Deleting'. If the Dynamics NAV Server instance crashes while running the task, the task will be automatically rescheduled after a server instance mounts the tenant again.
- If you use the -ForceImmediateRemoval switch parameter, the deletion starts immediately, without using task scheduler. If the server instance crashes while being deleted, the tenant should be manually removed by using Remove-NAVTenant again.
Whichever way you choose, as soon as you run the cmdlet, the tenant can no longer be accessed by client sessions. Any current sessions are lost. The tenant will remain mounted before, during, and after deletion. After a successful deletion, its state changes to 'Deleted'. A record of the tenant remains in the database until you dismount the tenant.
Examples
---------- EXAMPLE 1 ----------
Remove-NAVTenant -ServerInstance NavServer -Tenant TenantA
This example uses server instance 'NavServer' to delete tenant 'TenantA'. Whether it will be deleted synchronously or through a scheduled task depends on the UseIncrementalCompanyDelete setting of the server instance.
---------- EXAMPLE 2 ----------
Remove-NAVTenant -ServerInstance NavServer -Tenant TenantA -ForceImmediateRemoval
Dismount-NAVTenant -ServerInstance NavServer -Tenant TenantA
This example uses server instance 'NavServer' to delete tenant 'TenantA' immediately. The cmdlet will return after completely deleting the tenant. The Dismount-NAVTenant will delete the record of the tenant from the database.
---------- EXAMPLE 3 ----------
Remove-NAVTenant -ServerInstance NavServer -Tenant TenantA -Async -ForceImmediateRemoval
This example uses server instance 'NavServer' to delete tenant 'TenantA' immediately. The cmdlet will return immediately, while the tenant is deleted in the background.
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 |
-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 |
-ForceImmediateRemoval
Specifies to delete the tenant, its companies, and global data immediately; 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 remove. 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
System.String
By value and by property name: ServerInstance
Microsoft.Dynamics.Nav.Types.TenantId
By property name: Tenant
System.Management.Automation.SwitchParameter
By property name: ForceImmediateRemoval