Retaining List Item IDs across site collections or SharePoint farms

SharePoint generates a unique ID for each item in a list. Here’s some additional information about list item IDs:

  • IDs are auto-generated in each list and are not unique across the site.
  • The item IDs are 1-based integer, which is one greater than the ID of the item that was previously added.
  • If the item is deleted, its ID is not reused.

Auto-generated List Item IDs (as shown below):

Auto generated list item ids

Deleted item ID is not reused:

If you delete the ‘item4’ from SharePoint and add the new list item as ‘Item5’, then SharePoint generates ID as 5 instead of deleted Id 4 (as shown below).

Deleted item id not reused

Based on the above information, if you thought it is very difficult to retain item IDs during migration across different sites, your assumption is incorrect. Vyapin’s latest version of XPlica for SharePoint v6.9 caters you to retain list item IDs when migrating List Item across different sites and even different farms.

This is applicable only for list items migrated across SharePoint lists (except libraries). For this purpose, XPlica Server Agent has to be installed in the premise target SharePoint server and Vyapin Sandbox solution has to be deployed in the target Office 365 tenant (SharePoint Online).

How to retain List Item IDs using XPlica v6.9:

Whether you are migrating entire site contents or list contents using XPlica, navigate to the ‘SharePoint Columns Options’ step of XPlica wizard (as shown below) and select ‘Migrate selected columns’ and provide the column name ‘ID’ in the list as shown below. This directs XPlica to retain the source ID for the migrated List Item.

Migrate selected columns

Xplica does retain the list item ID as in source when source list item ID value is not already in use in the target list item. If source list item ID is already in use in the target list item, then XPlica leaves the ID to be auto- generated by SharePoint (as shown below).

Source list items

Target list before retain list item ID:

Target list before retaining list item id

Target list after retain list item ID:

Target list after retain list item ID