Convert-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
Convert-NAVTenant
[-Tenant <TenantId>]
[-CommitPerTable]
[-SharedSchema]
[-ServerInstance] <String>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Converts the database from a separate schema data model (which is the default) to a shared schema data model. With shared schema, companies share tables for storing business data, as opposed to each company having their own set of tables. For example, instead of an Item table for each company, there is a single Item table for all companies in the database. In a multitenant deployment, shared schema enables you to have more than one tenant in the database. Be aware that once you convert a database to shared schema, it cannot be reverted to separate schema.
You can use the Convert-NAVTenant cmdlet only when the tenant is synchronized with the application. If the tenant is out of sync, use the Sync-NAVTenant cmdlet first.
Examples
---------- EXAMPLE 1 ----------
Convert-NAVTenant -ServerInstance DynamicsNAV -Tenant 'Tenant1'
This example converts a tenant database, 'Tenant1', from a separate schema data model to a shared schema data model.
Parameters
-CommitPerTable
Specifies that database schema modifications are committed by separate transactions on each affected table. Transactions are run one at a time, as they occur.
With the default behavior (that is, without using the -CommitPerTable parameter), all modifications are committed in a single transaction. Using this method provides better protection against leaving the database in an inconsistent state than using the -CommitPerTable parameter. If the conversion process is terminated before it is completed, any changes that were made before the problem occurred are rolled back, returning the database to its original state. The drawback is that for large databases, the conversion process can take a long time and consume considerable computer resources.
The advantage of setting the -CommitPerTable is that it will decrease the time that is required to complete the conversion process and consume less computer resources, which can be useful for large databases when performance is a concern. However, when you set this parameter, committed changes are not rolled back if the conversion process is terminated before it is completed. This can result in a partially converted database, which might leave the database inoperable. We recommend that you make a backup of the database before you run the Convert-NavTenant cmdlet. Also, tables are not always locked during conversion. Therefore, you should prohibit users from connecting to the database during the conversion.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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 |
-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 |
-SharedSchema
Converts the database to the shared schema data model.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tenant
Specifies the ID of the tenant that you want to convert to shared schema, such as Tenant1.
This parameter is required unless the specified service instance is not configured for multitenancy.
Type: | TenantId |
Aliases: | Id |
Position: | Named |
Default value: | None |
Required: | False |
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
System.String
ServerInstance