Why does excluding table data during cloning is not the best practice?

meg6
Kilo Expert

Hi experts,

We are planning to upgrade test instance . While cloning Prod to test we want to exclude prod data and preserve mock data in test instance. 

As per now we understood that ServiceNow consider scripts/Business Rules also as table data, so that we can not exclude, and even for tables it is same.And also it seems like ServiceNow suggests that  "it is the best practice to clone everything to subProd." (https://docs.servicenow.com/bundle/kingston-release-notes/page/release-notes/upgrades/task/upgrades-phase-2.html)

ex:  we can not exclude user data as it is referenced by hundreds of tables and again those tables are referenced by hundreds of tables.  Do we need to find all the tables that are being affected and write the rules for it before cloning?

Is there any subset of tables that we can exclude ?

Is there any solution for it?  I think its normal requirement that companies do have. Any inputs for this will be helpful. 

Thank you

 

1 ACCEPTED SOLUTION

First, cloning WILL include configuration changes like business rules, UI policies, ACLs, etc. It's a clone. It's going to be complete.

Let's go down the path and say that you didn't clone sys_user. What then, do you anticipate will happen to all the tasks, CIs, and other records that reference sys_user when you complete the clone? You'll have "orphan references" that point to no records and if someone clicks through one of those links they'll get a Record not found error. That's no good.

I'm curious to understand your vision of what you would like to do when you leave out such a foundational table.

View solution in original post

18 REPLIES 18

Cloning doesn't modify records - that's why it's called a clone. 🙂

Most customers use it to get a refresh of data for just those tables you asked for so they can do testing in sub-prod instances with recent records.

Thanks for the reply Chuck. I have a situation where we want to zboot(reset) our PROD and move all the new configuration changes to PROD from DEV. Do you know if there is a simple way to backup the tables, so I don't loose data? I exported XML copies of most tables, but I'm still worried if I might loose something in a situation like this. 

What other tables do I have to backup like Audit History, Activity Logs?

Can you please suggest me? Thank you again for your reply. 


RK
If my response is helpful, please select Helpful. If my response answers your question, please select Accept as Solution.

Thank you for the details. I recommend working with customer support on the details of this one since it gets a little beyond a standard clone process.

Sure..thanks..


RK
If my response is helpful, please select Helpful. If my response answers your question, please select Accept as Solution.

Jaskaran Walia
Kilo Guru

Hi Meg,

You might want to look at Preserve and exclude table setting while setting up cloning if you have concerns of data sensitivity and separation between prod and sub-prod tiers.

There are oob configurations that excludes few tables i.e. By default, the system excludes tables for logging, auditing, notifications, workflow contexts, and license usage. etc.

 

Exclude Table from cloning:

https://docs.servicenow.com/bundle/jakarta-platform-administration/page/administer/managing-data/task/set-up-system-clone.html

Preserve Target Table data before cloning:

https://docs.servicenow.com/bundle/jakarta-platform-administration/page/administer/managing-data/concept/data-preservation.html

 

Please mark the response Helpful or correct if it helps.

Thanks,

Jaskaran