Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

Domain Migration Tool

Use the Domain Migration Tool to move a customer from a domain-separated environment to their own dedicated instance.

Domain Migration Tool plugin

The Domain Migration Tool plugin (com.glide.domain.migration_tool) simplifies the task of moving a customer from a domain-separated environment to a more flexible dedicated instance. Customers may want to migrate to a separate instance to take greater advantage of the ServiceNow AI Platform capabilities. Although the Domain Separation plugin is installed, the data and process separation properties are turned off.

Note: You must request a cloned instance and request activation of the Domain Migration Tool plugin before you can use it.

The Domain Migration Tool runs only if both data and process separation are enabled in the domain-separated instance:

  • The glide.sys.domain.partitioning data property must be set to true.
  • The glide.sys.domain.delegated_administration process property must be set to true.

What the migration tool does

  • Automates much of the migration process, especially cleaning up data.
  • Migrates the domain-separated instance to a new dedicated instance.
  • Deletes data from the dedicated instance.

    Note: The tool doesn't delete data that is global, in the target domain, or in additional data domains (if specified).

  • Collapses process data, or if unable to collapse, deletes process data

  • Keeps process records that are visible to the target domain
  • Updates the sys_choice, sys_ui_list, and sys_ui_related_list special tables
  • Cleans up records added by domain separation plugins:
    • Business rules
    • UI actions
    • Scheduled jobs
    • Installation exits
    • Navigation modules
  • Disables domain separation and removes domains from the cloned instance:
    • Sets these properties to false in the cloned instance:
      • glide.sys.domain.partitioning
      • glide.sys.domain.delegated_administration
      • glide.sys.domain.enabled
    • Deletes all domains except the target domain and any additional specified data domains.
  • Updates the Status field in the domain_migration_tool_status table.

    StatusDescription
    PendingDefault status of domain separated tables during migration. The tables are scheduled to be migrated, but have not yet started the migration.
    FailureTable level failure. If the migration process is finished with errors, this status indicates which tables have errors.
    RunningThe status of the table that is currently migrating. Only one table can have this status and currently migrating.
    SuccessfulThe status of the tables that have successfully migrated.
    Finished successfullyThe migration process is finished without errors.
    Finished with errorsThe migration process is finished with errors.
  • Logs progress and status to syslog_domain

    The source is MigrationTool for all log entries associated with migration.

    • Logs each data table and how many data tables remain
    • Logs each process table and which domain’s records are currently being inactivated or deleted

What the migration tool doesn't do

  • Clone the instance
  • Create another domain-separated instance
  • Migrate records (data or process) if either data or process separation properties are disabled before you run the tool
  • Alter any data on the source instance
  • Delete data that is global, in the target domain, or in additional data domains (if specified)

What you must do after running the tool

The Domain Migration Tool automates the removal of data outside the desired domains (the target domain, any additional data domains, and the global domain). You must evaluate all the remaining configurations to ensure that they are appropriate and work for your dedicated instance. For example, if you had a business rule that set the domain field on records, you might want to disable this business rule, since it no longer serves a purpose.

Migrate a domain-separated instance to a dedicated instance

Move a customer from a domain-separated environment into their own dedicated instance environment.

Before you begin

Role required: admin

Procedure

  1. Elevate to the security_admin role.

    See Elevate to a privileged role for details.

  2. Navigate to All > Domain Admin > Domain Migration Tool.

    Also access with domain_migration_tool_status.list.

  3. Click New.

  4. Complete the form.

    FieldDescription
    Target domainSpecify the domain used for both process and data that you want to migrate. Only the target domain is retained, not any of its children, unless specified in the Additional data domains field.
    Additional data domainsOptionally, specify any additional data domains you want to migrate. If you want to migrate the target domain and all of its children, you must specify all children.
  5. Select Submit.

  6. Open the form you just submitted.

  7. Navigate to All > Domain Separation Center > Configure Audits .

    See Domain Separation Center for additional information.

  8. Set the Validate Domain Separated Table Schema audit to Active and assign a schedule.

    This is a precautionary domain audit to pre-check the schema for the health of domain separated tables. This enables you to fix errors before running the migration.

  9. Run the Audit Schedule that includes the schema.

    See Execute audits immediately for details.

  10. Address issues returned from the audit.

Image omitted: validate-domain-schema-error.png
Error example from schema check.
  1. Select Start Migration.

    • The execution tracker progress bar and the domain migration tool are triggered.
Image omitted: domain0migration-progress-bar.png
Domain migration progress bar.
-   The current progressing migrating table is displayed along with the total percentage of successfully migrated tables.
-   The table where all of the domain separated tables are recorded with the migration status, total number of records in each table, and the number of records migrated.
-   The count of tables where migration failed is also recorded.
-   The **Status** is updated as the tool performs its functions.
-   Domain Migration is still running in the background if you close the progress bar. Access the sys\_execution\_tracker table and look for **Running Migration on Tables** to check the migration process running in the background.
The Domain Migration Tool Status displays the following fields:
FieldDescription
StatusDisplays the migration status. - Migrating data tables...: In progress status. - Migration successful: The updated status after a successful migration. - Misconfiguration is observed on one of the domain separated tables: Indicates a failure of data migration. A schema error has been found, the migration won’t start. Run the audit Validate domain separated table schema. The audit will fail and show the tables that don't follow the schema standard. - Finished with Errors in Revisit Tables: The number of tables to address schema migration is listed. Locate the failures in the Revisit tables count and address schema issues. - Domain Migration Failed for Tables...: Non target records should be deleted manually from failed tables. - Finished Successfully: When all tables have migrated.
Target domainThe selected target domain for migration.
Additional data domainsPopulates if multiple migration domains have been selected.
Revisit Tables CountThis field populates only if a table fails to migrate. If there are no failures, this count is zero. In this case, the tables will be revisited to reattempt the migration. If there are no failures, no need to revisit the tables or reattempt the migration.
Current Progressing TableDisplays the name of the table that is currently being migrated. After successful migration, this field will be empty.
  1. Select the Click here link on the Domain Migration Tool Status page to open the Execution Tracker.
Image omitted: relaunch-progress-bar.png
Link to reopen the Domain Migration tool progress bar.
You can also access the sys\_execution\_tracker table and look for **Running Migration on Tables** to check the migration process running in the background.
  1. Select Show status in the Related Links section to access the progress bar any time during the migration.
Image omitted: show-status-execution-tracker.png
Displays the Show status link on the Execution Tracker.
In the case that a table failed the schema check, the Migration Status of Domain Separated Tables overall status will be **Failed**.
Image omitted: failed-status.png
The overall migration status shows failed.
There will be **Failed** entries for each corresponding table.
Image omitted: domain-migration-failure-status-table.png
Displays the tables that failed the migration.
The remainder of the migration continues and a summary of all failed tables and the total number of **Revisit Tables Count** will be populated in the Domain Migration Tool Status.
Image omitted: revisit-tables-count.png
Shows the number of tables that failed and require a tables revisit count.
The **Status** is **Finished Successfully** when the migration is complete.
Image omitted: migration-successful.png
Shows successful migration status.