Move top level site to sub site

Copper Contributor



I just finished the upgrade of our Sharepoint Single Farm from Sharepoint 2010 to Sharepoint Server 2019. I now need to do some reorganization in our Site Collection.

Idea is to move all our top level sites to sub site of the root site collection.

To do this, I started to export one of our top level site with following command:


Export-SPWeb -Identity "http://pappel-sp2019/sites/Topside CM Server" -Path E:\TopsideSite.bak -NoFileCompression -includeusersecurity -IncludeVersions All


I created a blank sub site in our root top level site (http://pappel-sp2019/) whith command:


New-SPWeb -Url 'http://pappel-sp2019/TopsideCMServer' -UniquePermissions


Then I tried to import the old top level site as a sub site with this command:


Import-SPWeb -Identity "http://pappel-sp2019/TopsideCMServer" -Path E:\TopsideSite.bak -includeusersecurity -NoFileCompression


But I got a fatal error "Updates to system roles is not allowed." at step "Importing Role Limited Access":

[15.02.2019 15:59:24] [Progress] Importing Role Limited Access.
[15.02.2019 15:59:24] [FatalError] [] [System.InvalidOperationException] [Updates to system roles is not allowed.]
[15.02.2019 15:59:24] [Debug] at Microsoft.SharePoint.Deployment.RolesImport.ProcessSimpleElement(ImportStreamingContext context, XmlReader xr, SqlSession session, SqlCommand comm, Int32 iRow)
at Microsoft.SharePoint.Deployment.SqlBatchImport.Run()
at Microsoft.SharePoint.Deployment.SecurityObjectSerializer.SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
at Microsoft.SharePoint.Deployment.XmlFormatter.CallSetObjectData(Object obj, SerializationInfo objectData, ISerializationSurrogate surrogate, ISurrogateSelector selector)
at Microsoft.SharePoint.Deployment.XmlFormatter.ParseObjectDirect(Object objParent, Type objectType)
at Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType, Boolean isChildObject, DeploymentObject envelope)
at Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream)
at Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream)
at Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects()
at Microsoft.SharePoint.Deployment.SPImport.Run()
[15.02.2019 15:59:24] [Progress] Import did not complete.

I then tried to import without the argument "-includeusersecurity" which was successfull. However I then lose the user information of all my documents history.

I then tried to add exactly the same Site Permissions on my sub site as on the top level site prior to import. Didn't help; I get the same error.


As we definitely need user information in documents history, could you please help me on this topic?



2 Replies

@NicoF Did you manage to resolve this issue?

I am having same problem


I am having the same problem. -IncludeUserSecurity option is not working. We need this in SP 2019!