Clone FAQs - Frequently Asked QuestionsIssue This article lists the most frequently asked Cloning questions that ServiceNow Technical Support receive in relation to clones from a source instance to a target instance. Find out more about: backups, post cloning, excluders, preservers, and clean up scripts. This article is part of a 3-part series on Clones, including: Clone BasicsClone Tips and Tricks .mce-toc { background-color: #f7f7f7; padding: 10px; border-radius: 5px; border: 1px solid #dedede; width: 70%; min-width: 500px; } Table of Contents Three Common Questions Can I clone from a specific date?Can I request a backup to be taken before my clone?How can I determine the available backup for my instance? Backup-Related Questions When I clone which backup file will be used? I've heard about cloning from an on-demand backup, how does it work?If I add my production instance to the 'On demand backup' list, does it affect the performance of production when it is taking a backup?If the source instance's database is fragmented will the target instance be fragmented as well? Post Clone Questions After a clone, why do comments/updates all show as a different user and time?How can I reset MFA on a clone?Why am I unable to log in after a clone?My clone failed with the message "The clone pre-flight check for valid capacity mapping has failed" when cloning to a demo or pov instance as target?Why is my text search not running after my clone?I excluded a specific table, but after the clone, the data is still there? Excluders and Preservers How do Excluders work? How do Preservers work? If I add a table to both the exclude and preserver list, what will happen?Can I preserve plugins from the target instance?If Preserving records do I need to preserve the attachments also?If I change preservers and excluders will it work straight away in my next clone?I unchecked the exclude options but after a clone, the excluders still ran.I can't add an existing table to the preservers? Clean Up Scripts How do clone cleanup scripts work? Can I have cleanup scripts run in specific scope? How to check which cleanup scripts have executed?Can I have cleanup scripts per instance? Other FAQs What is a draft? Why can I not delete these?Why is my clone 'on hold'?Why am I missing my update sets after I cloned after my upgrade and deployment of update sets?If I clone to another instance, will the release change?What is the difference between Standby Database and Source Instance? What is the 'Clone From:' field? Does this determine whether the clone uses the live database or a backup? When requesting a clone or creating a clone target in the authentication step it prompts with "Invalid username or password"?Why have my email accounts been cloned to my target even when excluding data? Three Common Questions Can I clone from a specific date? By default, clone requests use the latest backup for the source instance. Fresh / On-Demand Backup: Taking a fresh "On-Demand Backup" for your clone can be helpful if there has been a major change in prod that was not captured in the nightly backup yet, and you want to reflect this change in the clone. Please go to the next question below for options on how you can request an on-demand backup. Backup Restore Request: To restore your instance to an earlier state (using an older backup), you can request an 'Instance Restore' on the Now Support Service Catalog: https://support.servicenow.com/now?id=ns_automation_store Can I request a backup to be taken before my clone? Yes. There are two ways to take an on-demand backup. Option 1: On-Demand Backup option within the Clone Admin Console The new Clone Admin Console (Store App released November 2023) has an on-demand backup option. When placing a clone via the new app, you will be able to select the on-demand backup under optional settings. When this option is selected via the app, a new backup will begin at your specified clone start time. Please note that you do not need to also be on the on-demand backup list to take advantage of this feature. Option 2: You can request to be added to an "on-demand backup list" by raising a case through Now Support. Once your instance is on this list, a fresh backup will be taken with each clone. How can I determine the available backup for my instance? Get a "List of Available Backups of an Instance" from Now Support. Log in to Now Support (HI)Click "Service Catalog" on the left navSelect "Instance Management" in the Catalog MenuClick the "List of backups for the instance" tile Backup-Related Questions When I clone which backup file will be used? The clone will always use the most recent backup file, related to the datacenter of the clone target instance. For example, if a Production instance has 2 nodes in the LHR datacenter and 2 nodes in the AMS datacenter then daily backup files for these 2 datacenter will be created. If you then have a Dev instance in the AMS datacenter and a Test instance in LHR, a clone over Dev will use the most recent AMS backup and a clone over Test uses the most recent LHR backup. I've heard about cloning from an on-demand backup, how does it work? There are two ways to take an on-demand backup: Option 1: On-Demand Backup option within the Clone Admin Console: The new Clone Admin Console (Store App released November 2023) has an on-demand backup option. When placing a clone via the new app, you will be able to select the on-demand backup under optional settings. When this option is selected via the app, a new backup will begin at your specified clone start time.Please note that you do not need to also be on the on-demand backup list to take advantage of this feature. Option 2: You can request to be added to an "on-demand backup list" by raising a case through Now Support. Once your instance is on this list, a fresh backup will be taken with each clone.To remove an instance from the on-demand backup list, you will need to again create a Case for technical support. //under on demand backup – previous question. If I add my production instance to the 'On demand backup' list, does it affect the performance of production when it is taking a backup? No, you will not experience any drop off in Performance whilst the on-demand backup is being generated. If the source instance's database is fragmented will the target instance be fragmented as well? No, the clone builds a new database from the selected backup and therefore there should be little or no fragmentation in the cloned instance. Post Clone Questions After a clone, why do comments/updates all show as a different user and time? This is as designed, if you clone with excluders you are excluding the sys_audit table, the sys_audit table is used to keep the user, date and time for each comment and update so without the sys_audit it will use the sys_created_by and sys_created_at fields for all comments on the record. If you view the history of the record all the updates will show as update 0 More information can be found in KB0690828: Cloning - Activity formatter and Audit not showing correct user and time. How can I reset MFA on a clone? This video shows how to reset the MFA on a cloned instance. Why am I unable to log in after a clone? This happens more often than you would think. When cloning over an instance it brings the settings from production this can include SSO and login functionality that can cause you not to be able to login into the sub-production instance after the upgrade. This illustrates the benefits of always having a local account you can always log into, not only just for cloning. To avoid this issue from happening for cloning you can do the following. Method 1: Create a local admin user on the source instance. Create a local admin user with a local password in your source instanceClone over sub prod instanceLog in to instance using side_door.do with the username and password from step 1 Method 2: Create local admin user on target instance and include preserver. Create a local admin user with a local password in your target instanceCreate clone preserver for user (sys_user), user roles [sys_user_has_roles], and user groups [sys_user_grmember]Clone over sub prod instanceLog in to instance using side_door.do with the username and password from step 1 My clone failed with the message "The clone pre-flight check for valid capacity mapping has failed" when cloning to a demo or pov instance as target? This error message happens when you are trying to clone over an instance that is too small and is not set up to grow in size. Demo and POV instances are built to only grow to a specific size, so they can be cloned too if the source instance is also small, but once it grows to a specific size you cannot use Demo or POV instances for cloning. You must then clone over a sub-prod instance (which has the capability to grow in size) Also, note we cannot increase the size of a demo or POV instance, we will always request to clone over a sub-prod instance. Why is my text search not running after my clone? When cloning over an instance you may experience the issue that your text searches are not working. This is because one of the clone cleanup scripts that run after a clone completes is to reindex this instance for search, while this is running your search will not work. If you look at jobs running you will see the text index events process, if you look on your stats.do you will see something like this: You can monitor this to completion, once done your search functionality will start to work. I excluded a specific table, but after the clone, the data is still there? This is a very common question that comes up to support. You enter in an excluder but after the clone, the data is still there. This can be a number of different causes: You unchecked the checkbox to exclude tables for the cloneYou have selected a table that is blacklisted from being excluded. When excluding child tables of the Task table, child tables are excluded. You do not need to exclude the parent Task table together with the child table, this works for TPH or TPC extension models Excluders and Preservers How do Excluders work? All Exclude settings must be set up on your SOURCE instanceCreated per table, you cannot use condition-based ExcludersThey are only actioned for the SOURCE dataWhen excluding a table it truncates the table so no data will be kept from the source instanceWhen excluding child tables of the Task table, which uses the table per hierarchy extension model, child tables are excluded. You do not need to exclude the parent Task table together with the child table.By default, the exclude options are selected for cloningIf you remove the options for excluding before cloning you will not exclude any dataYou can Exclude and Preserve the same Table How do Preservers work? All Preservers settings must be set up on your SOURCE instanceYou can only preserve data, not tables or columnsCreated per table, you can use conditions to only preserve specific dataThey are only actioned for the TARGET dataData will be imported after the Exclusions are actioned.These will always run on every clone.You can Exclude and Preserve the same TableYou can only preserve a table from the target instance if it also exists in the source instance (because the table structure cannot be preserved, only data)Also, preservers are for preserving key data and not a mass amount of data, if you do preserve mass amounts of data the clone can break or take a very long time to run. Would advise not to preserve mass amounts of data. More information can be found in KB0717012 - Clone results based on Exclusion and Preserver configuration If I add a table to both the exclude and preserver list, what will happen? The outcome will be that the table will be exactly the same after the clone as it was before the clone, on the target instance. If the table had 5 records before the clone, then the same 5 records would be there afterward. Can I preserve plugins from the target instance? In some cases when testing plugins in your target instance you wish to preserve these plugins so you can continue to test out these plugins and work on them. Unfortunately, the way we do clones we do a restore of the source instance over a new database, after the clone you will need to activate the plugins again or request them via HI if required. If Preserving records do I need to preserve the attachments also? When cloning, you may want to preserve certain records on your target instance, for example, some incidents. You also want to make sure after the clone that the attachments linked to these incidents are also preserved. Currently, in our automation, if you preserve a record that has attachments we automatically preserve those attachments without having to create another preserver specifically for the attachment table. If I change preservers and excluders will it work straight away in my next clone? A common question, you have just adjusted your excluders or preservers and want to know if you have to wait for some time before cloning. The answer is NO, once you change the excluders and preservers, those changes will be enforced in the next requested clone. I unchecked the exclude options but after a clone, the excluders still ran. Recently we have seen an increase in this issue. After requesting a clone and unticking the exclusion options after the clones it seems like excluders still run why?? This has been linked to a UI change in the request form and some customers had customized the form therefore not getting the changes. A change was made to the UI to hide the options for excluding in an option tab that you need to click to open and view. Since this happened some customers have customized the form or may have already customized the form to show those values instead of seeing the options in the hidden section, therefore having the field twice on the form. The problem here is that the values will always come from the last value it finds so if you unchecked the options on the main form it will take the values from the options as that is the last value for that field it finds. To fix this you will need to update the form so the fields only appear once on the form over all sections. Once this is fixed it will not happen again. I can't add an existing table to the preservers? Sometimes you are trying to add a data preserver for a specific table and you cannot find it in the list and wondering why?? This is most probably due to the scope of the table. If you want to preserve a table that is part of a specific scope you need to do the following: Switch to the scope of the table by clicking the cogwheel (gear icon) on the top right > navigate to 'Developer' > pick the scope of the tableThen go to the Data preserver table.Now creating the data Preserver you will be able to select that specific table and save it.Why are my attachments missing after a clone? Move to FAQYou may have realized that lately, after your clones have been completed, you are missing attachments in the target instance and has been causing issues. This is actually working as designed but this exclusion started to work correctly after December 2018 after an internal problem was fixed with the clone automation. This is outside the ServiceNow releases so this will affect all releases and all clones from then. The fix was for the clone option: Exclude large attachment data. As documented in the previous question: What do all the options do for cloning?It states it will remove sys_attachment records that don't meet that criteria, it is not based on the size as the name suggests.So this is working now as designed and documented through our documentation if you wish to keep your attachments you will need to uncheck the Exclude large attachment data checkbox upon cloning. Clean Up Scripts How do clone cleanup scripts work? After the clone completes all cleanup scripts are combined together as a scheduled job named "Execute Clone Cleanup Script : Execute Cleanup Scripts Sequentially" and run till completion in global scope.The clean up scripts are ordered based on the order field.Must be defined on the SOURCE instance. Can I have cleanup scripts run in specific scope? All cleanup scripts run in the global scope irrespective of the scope in which you have configured the cleanup script. So, if you do want to run a scoped script, the best way to do that is to: 1. Create a script include in the desired scope with the cleanup logic in it2. Have a Restricted Caller Access configuration in place to allow access to your scoped script with the following settings (you need to be in the scope of the script include to create the RCA):Source Scope: GlobalSource Type: ScopeStatus: AllowedTarget Scope: <Scope of the Script include>Target Type: Script IncludeTarget: <script>Operation: Execute API3. Call the script include from the clone clean up script.To test the cleanup script, run it from global scope in scripts background to confirm that it is working as expected. How to check which cleanup scripts have executed? Use the following URL to get the list of cleanup scripts triggered. May need to change the created date filter if the clone was not done today: <INSTANCE_URL>/syslog_list.do?sysparm_query=sys_created_onONToday%40javascript%3Ags.beginningOfToday()%40javascript%3Ags.endOfToday()%5EmessageSTARTSWITHExecuting%3A%5Esource%3DNew%20Clone%20Engine Can I have cleanup scripts per instance? You cannot have cleanup scripts specifically for certain instancesBut you can define in the cleanup script to check the instance name system property and then depending on the result do specific jobsExample: var instanceName = gs.getProperty('instance_name');if (instanceName == 'testdev'){// Do specific jobs for dev instance}else if (instanceName == 'testsandbox'){// Do specific jobs for sandbox instance} Other FAQs What is a draft? Why can I not delete these? When you click on the UI to submit a clone, a record is created in the clone table, if you do not proceed with the clone or click out of the pop-up window the record will stay in your system as a 'draft' but this can be safely ignored. The reason these cannot be deleted is that they have a link to an internal instance at ServiceNow which manages the Clone requests. Why is my clone 'on hold'? When a clone State is set to 'Hold', this means the server rejected the clone request. Here are some of the most common reasons: The clone was not ready to proceed by the scheduled time.The target instance is not downgraded.Problem with the backup used for the clone. More information can be found in KB0694499 - Several clones in the state of 'Hold' Why am I missing my update sets after I cloned after my upgrade and deployment of update sets? After an upgrade is completed a fresh new backup is taken, now as the backup starts after the upgrade if you push update sets after the upgrade then these can be missed in this backup and if you clone you will only get whats in the backup. It is recommended that after an upgrade and pushing updates to apps you should wait at least 24 hours after the upgrade so the backup will contain all the updates from after the upgrade completes. If I clone to another instance, will the release change? Yes, as when you are cloning you are making a replica of your source instance, so it will match in table structure and version. So if you clone a San Diego instance over Tokyo, the target instance will be a San Diego release. Vice-versa if you clone a Tokyo instance over San Diego, the target instance will become a Tokyo release. What is the difference between Standby Database and Source Instance? When cloning you may get an option to select either Standby database and Source instance. This is an old option and is no longer needed when requesting clones, it is removed in the newer releases and you shouldn't see it appear, but if you still see it appear you can safely leave and ignore this option. What is the 'Clone From:' field? Does this determine whether the clone uses the live database or a backup? It is a common misconception that when scheduling a clone you can use this field to determine whether to clone from a backup file or the live database. This field is actually a legacy field relating to the previous in-app clone engine and does not have any purpose with the new clone from backup functionality. When requesting a clone or creating a clone target in the authentication step it prompts with "Invalid username or password"? The issue occurs because of one of the two causes below. (I) Check if the target instance has Multi-faction authentication enabled. To verify this, Go to [sys_properties] table and search for the property [glide.authenticate.multifactor].If the value of this property is true, then the instance has Multi-factor authentication enabled. (II) Check if the BasicAuth script include in the target instance is customized. In both the cases, when trying to create clone target you can find something similar in logs as below: Script: InstanceRetrieverAjax: Sending request to /HAGetParams.do?SOAPWARNING *** WARNING *** OUTBOUND USAGE ANALYTICS - OutboundUsageAnalytics : OutboundUsageAnalytics: Usage analytics send failedOperation against file 'instance' was aborted by Business Rule 'Target Instance Validate^c16a7406db00c890cd7efafc0f9619dd'. Business Rule Stack:Target Instance ValidateSlow business rule 'Target Instance Validate' on instance: time was: 0:00:00.506Error in user input caused action to be cancelled It is recommended to use a local admin user to authenticate the creation of a clone target or when scheduling a clone. If the local admin user id that is used does not have the 'Web Service Access Only' checked, it will fail to authenticate and display the error message 'Invalid username or password'. This is due to the Business Rule 'Target Instance Validate' failing to validate the target instance via a SOAP call sent from the Script include 'InstanceRetrieverAjax'. More information: Error messages like "Invalid insert" and "Invalid username and password" are seen while creating clone target Clone authentication to target instance fails with 'Invalid username or password' Why have my email accounts been cloned to my target even when excluding data? On occasion after a clone before turning on email you see that your production email account has been copied into your sub-production instance. You then check that you did have the exclude tables option checked but still seem to have come across. When this issue has happened it is because normally on one occasion you have cloned to a sub prod and not excluded the table, therefore the sys_email_account has been copied across to your target instance, then you have a preserver for sys_email_account so it would have been preserved every clone after that. Workaround: Clone Cleanup Script Log in on the production instanceCheck all the sys_id's of the email accounts that you would not ever want in your sub prodsCreate a clone cleanup script in your production that will delete all the email accounts with those sys_id's Example Script: // Add sys_ids to the encoded query (queryString)// Like queryString = "sys_idIN206594e8db9eb3002e14c6fc34961998,6ab25213db003300eaf8e64305961927"var queryString = "sys_idIN";var emailclean = new GlideRecord('sys_email_account');emailclean.addEncodedQuery(queryString);emailclean.deleteMultiple(); This will mean after all clones it will delete these sys_email_accounts even if they were cloned over or not. If you add new email accounts you will need to add to this script, but this will stop the email accounts from ever coming from your source instance.