Logo
技术 C#

SharePoint 2019 拆分网站集体内的子站点到不同的内容数据库

photo
Pastore Antonio

2023年04月21日

SharePoint 是一个网站集体对应一个内容数据库;一个内容数据库可以存放多个网站集体。

我遇到的是一个网站集,下面多个子站点,每个子站点对应一个部门。结果就是这些部门的数据其实放在一个内容数据库里。导致内容数据库越来越大,已经超过1T了。

越来越大的内容数据库,导致访问速度极慢。为了彻底解决这个问题,只能拆分子站点到其他网站集,也就是到另外一个内容数据库。

要求就是:数据不能丢失,权限要保持不变。

我的方案是:PowerShell + 第三方工具ShareGate

步骤如下:

【1】首先新建内容数据库,然后新建网站集,确保新的网站集在新的内容数据库里。

使用命令创建内容数据库:New-SPContentDatabase -Name “WSS_Content_xxxx” -DatabaseServer “SP-DATA” -WebApplication ‘http://sp2019-web’

使用命令迁移网站集到指定内容数据库:Move-SPSite ‘http://sp2019-web/xxx’ -DestinationDatabase ‘WSS_Content_xxxx’

【2】使用ShareGate迁移

此工具收费,但有15天试用期。但在试用期内迁移文档库会随机跳过项,目的还是为了逼迫你购买。

我使用此工具主要是为了迁移权限,用户组,权限级别。所以无妨。

至于使用方法,可以自行研究。

【3】导出子站点文档库,然后再新的网站集内的子站点导入。

导出:

Export-SPWeb -identity http://sp2019-web/网站集/子站点 -ItemUrl /网站集/子站点/文档库路径 -Path C:\data\xxxxx.cmp -IncludeVersions All -IncludeUserSecurity -NoFileCompression 

导入:

Import-SPWeb http://sp2019-web/新网站集/新子站点 -Path C:\data\xxxxx.cmp -IncludeUserSecurity -Force -NoFileCompression -UpdateVersions Overwrite

原计划是直接导出子站点,但是在我导入的过程中总是报:System Roles Canot be update。这大概是我修改过系统自带权限等级的原因,经过验证始终无法解决。所以被迫使用了ShareGate来解决权限的问题。

【4】关点旧的子站点权限。

注意迁移后链接肯定变化了,所以原来分享出去的链接肯定不能用了。

本文为原创文章,请注意保留出处!
修复群晖Synology Drive client右键菜单缺失问题 Local, clean & environmental 作者:Pastore Antonio
1806 浏览量
1779 浏览量
configure: error: Package requirements (oniguruma) were not met Local, clean & environmental 作者:Pastore Antonio
1524 浏览量
Adobe Acrobat Pro 激活 Local, clean & environmental 作者:Pastore Antonio
1518 浏览量
追寻日出,找回自己 Local, clean & environmental 作者:Pastore Antonio
1488 浏览量