SharePoint 2019 拆分网站集体内的子站点到不同的内容数据库
2022-09-14 10:21 四毛的家 阅读(166) 评论(0) 编辑 收藏 举报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】关点旧的子站点权限。
注意迁移后链接肯定变化了,所以原来分享出去的链接肯定不能用了。