SharePoint 2019本地内容数据库拆分及子站点迁移咨询
问题1:步骤正确性判断
你列出的步骤存在核心错误:SharePoint中子站点无法直接迁移到另一个网站集下——子站点是父网站集层级结构的一部分,不能脱离原网站集直接迁入新网站集。正确思路需根据你的实际需求分两种场景调整:
- 若目标是拆分内容数据库中的完整网站集:无需创建新网站集,直接将现有网站集移动到新内容库即可。
- 若目标是将子站点独立为新网站集并放在新内容库:需要先导出子站点,再在新内容库的空网站集中导入(此时子站点会转为独立网站集)。
问题2:子站点迁移具体操作方法
场景1:将完整网站集迁移到新内容数据库(推荐,适用于拆分内容库中多网站集的场景)
如果你的核心需求是拆分内容数据库负载,而非单独迁移子站点,操作如下:
- 确认新内容数据库已挂载到对应Web应用程序:
Mount-SPContentDatabase "New_ContentDB" -DatabaseServer "SQL_Server_Name" -WebApplication "http://yourwebapp-url" - 移动目标网站集到新内容数据库:
Move-SPSite -Identity "http://yourwebapp-url/sites/target-site-collection" -DestinationDatabase "New_ContentDB"- 执行前确保网站集无锁定状态;
- 迁移期间网站集自动设为只读,完成后恢复正常读写。
场景2:将子站点独立为新网站集并迁移到新内容数据库
若确实需要单独拆分子站点,需通过导出-导入实现:
导出子站点:
用PowerShell将子站点导出为.cmp备份文件:Export-SPWeb -Identity "http://yourwebapp-url/sites/parent-site/sub-site" -Path "C:\SP_Backups\sub-site.cmp" -IncludeUserSecurity -IncludeVersions All-IncludeUserSecurity保留原站点权限配置;-IncludeVersions可选指定版本保留范围(All/LastMajor/LastMajorAndMinor)。
在新内容数据库中创建空网站集:
先确认新内容库已挂载,再创建与原站点模板匹配的空网站集:New-SPSite -Url "http://yourwebapp-url/sites/new-independent-site" -OwnerAlias "DOMAIN\admin-account" -Template "STS#0" -ContentDatabase "New_ContentDB"- 模板必须与原子站点一致,否则会导致导入失败。
导入子站点到新网站集:
将备份文件导入新网站集(原站点会成为新网站集的根站点):Import-SPWeb -Identity "http://yourwebapp-url/sites/new-independent-site" -Path "C:\SP_Backups\sub-site.cmp" -IncludeUserSecurity -UpdateVersions Overwrite-UpdateVersions指定版本冲突处理方式(Overwrite/Append/Ignore)。
验证与清理:
- 检查新站点的内容、权限、文档库是否正常;
- 确认无误后,删除原父站点下的目标子站点。
迁移失败常见排查点
- 权限不足:执行PowerShell的账号需同时拥有ShareShell管理员权限、SQL服务器读写权限;
- 模板不匹配:导入时网站集模板必须与导出子站点的模板完全一致;
- 内容大小限制:默认导出导入有文件大小上限,可修改Web应用程序的
MaximumFileSize参数调整; - 站点锁定:原站点或目标站点处于锁定状态会阻断迁移,需先解锁:
Set-SPSite -Identity "http://yourwebapp-url/target-site" -LockState Unlock
内容的提问来源于stack exchange,提问作者barge77
相关产品推荐
相关产品推荐

