Compare local update sets

  • Release version: Zurich
  • Updated July 31, 2025
  • 5 minutes to read
  • Administrators can preview local and remote (retrieved) update sets and compare the sets with one another to resolve conflicting changes.

    Before you begin

    Role required: admin.

    About this task

    Compare local update sets to identify collisions and verify that the proper changes are being committed. Resolve all conflicts before moving an update set between instances.

    Procedure

    1. Navigate to All > System Update Sets > Local Update Sets.
    2. Select the check boxes beside the update sets to compare.
    3. In the Actions on selected rows drop-down list, select Compare Update Sets.
      The progress screen appears as ServiceNow generates the collision report.
      Figure 1. Collision report
      Collision report
    4. Select Go to the Collision Report when the report is complete.

      The Update Set Collisions list appears, showing all the changes in the selected sets.

    5. Inspect the list for collisions by locating duplicate Collision Numbers that show the same change in separate update sets.
      Figure 2. Update set collisions
      Update set collisions
    6. Resolve the collision by deleting the unwanted update record from one of the update sets.
      1. Select the check box besides the update list to open the update record, and select Delete.
      2. Note:
        You can also delete the update records by selecting the check boxes for the entry in the Update Set Collisions list and select Delete from the Actions on selected rows drop-down list. When you delete the update record, the customization is not backed out of the instance. Only the record of the customization is deleted.
        Figure 3. Customer updates
        Customer updates
    7. Run the comparison again to make sure all collisions have been resolved.

    Update set collision resolution

    A collision is an update that has a newer local update.

    The platform detects collisions by comparing the values in the Name and Updated fields of the customer update record from each update set. If the name matches but there are different update date values, then there is a collision.

    When a customer update is moved from one instance to another, it may be re-written to match the target instance. The re-write can involve changing the update name of the customer update and one or more sys_ids within the update. The re-writes are done when the record or the reference field is for a table that uses a coalesce strategy. This ensures that the customer update will be applied to the correct record. For example, if the sys_dictionary record for tablename.fieldname has sys_id 123456789 on instance A and sys_id 987654321 on instance B, when a customer update that refers to that record is retrieved from instance A and recorded in the sys_update_xml table on instance B, references to 123456789 are updated to read 987654321.

    Coalesce strategies

    Update sets can detect collisions between identical records that you independently create on separate instances. To detect such collisions, the record must have a coalesce strategy based on coalescing columns. Because collision detection depends on uniqueness of tables, the tables must be unique when the coalescing columns are combined. Records that are not listed here will not collide if the same record is created separately on different instances.

    Type Coalescing Columns
    atf_input_variable name, element
    atf_output_variable name, element
    dp_data_pattern source_sys_id
    dynamic_attribute namespaced_name
    dynamic_category namespaced_name
    dynamic_category_member category, attribute
    dynamic_choice_override choice, category, attribute
    dynamic_namespace name
    sys_analytics_bucket sys_scope, bucket_document_id, bucket_table_name
    sys_attachment (uses custom matching logic)
    sys_choice_set name, element
    sys_collection collection, name, join_field
    sys_db_object name
    sys_df_data_dictionary name, element
    sys_dictionary name, element
    sys_documentation name, element, language
    sys_index logical_table_name, col_name_string
    sys_module path
    sys_notification_category name
    sys_package source
    sys_package_dependency_m2m dependency, sys_package
    sys_properties name
    sys_report_chart_color name, element, value
    sys_scope_script_access source_scope, target_scope, script_name
    sys_scope_table_access source_scope, target_scope, table_name
    sys_script_validator internal_type, ui_type
    sys_translated name, element, value, language
    sys_translated_text tablename, fieldname, documentkey, language
    sys_ui_form name, view, sys_domain
    sys_ui_list name, view, sys_domain, element, relationship, parent
    sys_ui_message key, language, code
    sys_ui_related_list name, view, related_list, sys_domain
    sys_ui_section name, view, caption, sys_domain
    sys_ui_view name
    sys_user_group name
    sys_user_role name
    sys_wizard name
    ua_table_licensing_config name

    How customer update record names affect collisions

    To understand coalescing, it helps to understand how records that do not coalesce work. For most record types, when a customer update is moved to a new instance, the system does not detect collisions for the following reason:
    • When you create a record, it receives a unique sys_id. For most record types, the sys_id becomes part of the customer update record name. For example: sysevent_email_template_9e1998c078b71100a92ecacd80df1d39.
    • Creating an identical record in the same table on another instance produces a customer update record name with a different sys_id. For example: sysevent_email_template_10b958c8653311005840134572f8e020

    As a result, even though the records might be otherwise identical, the records have different names so the system does not detect the collision.

    Coalescing records, in contrast, use the following approach to naming records and determining collisions: The following customer update record types use some or all of their coalescing columns instead of the sys_id in their names.
    • sys_dictionary
    • sys_documentation
    • sys_choice_set
    • sys_ui_list
    • sys_ui_related_list

    The resulting identical record name in each instance helps the system to identify collisions even if the records have different sys_ids.

    When a customer update is moved from one instance to another, it may be re-written to match the target instance. The re-write can involve changing the update name of the customer update and one or more sys_ids within the update. The re-writes are done when the record or the reference field is for a table that uses a coalesce strategy. This ensures that the customer update will be applied to the correct record. For example, if the sys_dictionary record for tablename.fieldname has sys_id "123456789" on instance A and sys_id "987654321" on instance B, when a customer update that refers to that record is retrieved from instance A and recorded in the sys_update_xml table on instance B, references to "123456789" are updated to read "987654321".

    Preventing duplicate records

    • Transfer data with update sets rather than recreating it on separate instances to ensure the records have the same sys_id.
    • Export and import records as XML files to ensure the records have the same sys_id. See Export and import XML files.
    • Enable a unique index for the table from the system dictionary. See Table administration.
    Note:
    The default records included in the baseline system will always have the same Sys ID because the instance imports the records as XML files during instance provisioning.