Has anyone Disabled Domain separation once activated?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-23-2023 09:42 AM
Has anyone Disabled Domain separation once activated? If so, please share the steps to do the same and any lessons learnt.
Thank you!!!!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-23-2023 09:46 AM - edited 02-23-2023 10:17 AM
Here is a developer tutorial from ServiceNow with steps on how to disable it in a PDI, not sure if it works in a non developer instance. I would not recommend doing this in a production environment and would stress to test this in a sandbox/sub prod one should you go this route.
Steps:
- Select global in the domain picker.
- Select Global in the application picker.
- Update the properties that enable data and process separation.
- Type sys_properties.list in the All menu's Filter field and press <enter> or <return> on your keyboard.
- Find and open the glide.sys.domain.partitioning property record.
- Update the glide.sys.domain.partitioning property value.
Value:false
- Click the Update button.
- Find and open the glide.sys.domain.delegated_administration property record.
- Update the glide.sys.domain.delegated_administration property value.
Value:false
- Click the Update button.
- Verify Domain Separation is disabled.
- Use the All menu to open Domain Admin > Domain Separation Center. Domain Separation Center opens in a new browser window.
- Click the Configure Domain Center link.
- Verify that Data separation and Process separation both have values of Disabled.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-25-2024 06:19 AM - edited 07-25-2024 06:20 AM
I would also suggest to mass update all records in GLOBAL as some feature might still not working. An example is the business impact analysis when the system populate the table svc_ci_assoc

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-16-2024 08:23 AM
I am exploring the ability to remove Domain Separation in our instances as well since we do not use it and it causes problems in certain areas. I have not found much information on the topic and no specific steps. The developer tutorial is good for the 2 system properties that need to be flipped to false but there is so much more to it.
I believe there are 2 paths for accomplishing this.
- Revert Option - Spin up a new fresh instance and migrate all data to the new instance.
- Disable Option - Keep existing instance and disable Domain Separation using the system properties. Update all records with a domain other than 'global' to global. Handle any overlaps of records across domains. We have data only in global and TOP so we do not care about other domains but I suspect others may not be so lucky.
There are a couple tools worth noting:
Enter 'Domain Admin' in the filter navigator.
- Domains - lists the domains.
- Domain Map - visual of the domain relationships.
- Domain Separated Tables - list of all tables which have the domain field.
- Domain Override Viewer - list of tables and counts of records that exist in multiple domains.
- Domain Separation Center - an app to view and configure Domain Separation.
The most useful for the disable process will be Domain Separated Tables and Domain Override Viewer. I am planning to script the updating of all records to 'global' domain. I will also manually review the Overrides to select which record is best or merge them into a single record under 'global' and test functionality for things like Business Rules. Those do not fire until they have been updated to global.
If anyone has done this already, please contribute. I will update with my learnings and process as I progress.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-05-2025 05:23 AM
As a follow up, we have successfully disabled Domain Separation. Our use case may be different, so the steps below may work only for our use case. We did not really need or utilize Domain Separation and put all users and work under TOP. We chose to Disable rather than Revert and changed only what we had to in order to disable Domain Separation.
- Select global in the domain picker.
- Select Global in the application picker.
- Update the properties that enable data and process separation.
- Update the glide.sys.domain.partitioning property value to false
- Update the glide.sys.domain.delegated_administration property value to false
- Verify Domain Separation is disabled.
- Use the All menu to open Domain Admin > Domain Separation Center. Domain Separation Center opens in a new browser window.
- Click the Configure Domain Center link.
- Verify that Data separation and Process separation both have values of Disabled.
- In Domain Admin…Domains, set Top record, Primary = false
- In Domain Admin…Domains, set all records to Active = false (may need to reset TOP to false after individually)
- In Domain Admin…Domains, set Parent = (empty) for all domains
- In Domain Admin…Domains, set Default = false for all domains
- In User Preferences, Name = glide.ui.concourse_picker.recent_items, edit the value json to clear out domain values other than 'global' so admins cannot select other domains from recent list (need admins to do cache.do)
- Use this value for all users = {"domain":[{"name":"global","id":"global","path":""}],"application":[{"name":"Global","sysId":"global","path":""}]}
- Create a System level User Preference 'glide.domain.exclude_inactive_from_picker' with value 'true'. https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0759219
- Update sys admin users to global
- admin
- pa.scheduler
- system accounts that run scheduled jobs
- users with admin role
- Apply update sets for domain overrides
- use Domain Override Viewer to merge/delete records from TOP to global domain
- Run fix script to update records from TOP to global - business rules, companies.
- Run cache.do
Learnings:
- Business rules under TOP did not fire and had to be moved to global (sys_script)
- Company records had to be moved to global (core_company)
- Tours had to be manually updated under global
- Performance Analytics historical data records had to be updated to global
- Forms and Form Sections, especially HRSD forms, were difficult. We used the parent form global record and pointed it to the customized Form Sections in TOP. Form Designer was used to add a new section, save, remove section, save, which placed the records in an Update Set. There still seemed to be inconsistencies in migrating the changes from one instance to the next but ended in success.
I hope this helps others!