从多租户SharePoint 2013场备份站点至独立场:内容数据库备份恢复方案可行性及替代方案咨询
先给你个准信:备份恢复内容数据库的方案完全可行!
不过因为是从多租户场往专用场迁,得留意多租户环境的特殊设置,不然可能出问题。我给你捋捋关键步骤和注意点:
备份前的准备工作
- 先找准目标站点对应的内容数据库:多租户场里可能多个租户共享一个DB,也可能每个租户单独用一个,一定要确认清楚你要迁的站点属于哪个DB,别备份错了。
- 建议暂时把站点设为只读:避免备份过程中用户修改数据导致不一致,用PowerShell命令就行:
Set-SPSite -Identity <你的站点URL> -LockState ReadOnly - 执行备份:可以用SharePoint管理中心图形化操作,或者PowerShell命令:
Backup-SPFarm -Directory <备份文件夹路径> -BackupMethod Full -Item <目标内容数据库名称>
恢复到专用场的核心注意事项
- 版本必须完全匹配:专用场的SharePoint 2013版本、补丁级别得和多租户场一模一样,差一个补丁都可能导致恢复失败,这个是重中之重!
- 还原并挂载数据库:先把备份的DB还原到专用场的SQL服务器上,然后用PowerShell挂载到目标Web应用:
Mount-SPContentDatabase -Name <还原后的DB名称> -WebApplication <专用场的Web应用URL> - 清理多租户遗留配置:多租户场的站点会带有租户ID这类专属属性,挂载后可以用
Get-SPSite <恢复后的站点URL> | Select-Object TenantId查看,如果有租户ID,得用PowerShell移除相关关联,不然可能和专用场的环境冲突。 - 全面验证功能:恢复后一定要检查站点的列表、文档库、自定义Web部件、工作流这些是否正常跑,尤其是之前依赖多租户服务的权限策略,得重新配置适配专用场。
还有两个更灵活的替代方案,看你需求选
如果觉得整库迁移太厚重,或者担心多租户残留问题,这两个方案可能更适合:
1. 站点级导出/导入(Export-SPWeb/Import-SPWeb)
这个适合只迁单个站点或子站点的场景,不用动整个内容数据库,更轻量化:
- 导出命令:
Export-SPWeb -Identity <源站点URL> -Path <导出文件路径.cmp> -IncludeUserSecurity -IncludeVersions All - 导入命令:
Import-SPWeb -Identity <目标站点URL> -Path <导出文件路径.cmp> -IncludeUserSecurity - 好处:精准迁移目标站点,不会带上其他租户的无关数据;缺点:如果站点特别大(比如几十GB),速度会比数据库备份慢一些。
2. SharePoint迁移工具(SPMT)
虽然SPMT更多是针对现代SharePoint,但对2013版本也支持,图形化界面操作,不用记复杂命令,适合不太熟PowerShell的管理员:
- 可以选择迁移整个站点集、单个文档库甚至列表,自动处理权限、版本历史这些,还能实时监控迁移进度。
- 注意:得确保专用场的环境满足SPMT的运行要求,比如对应的.NET版本、管理员权限这些。
总结一下
如果是整个内容数据库对应的所有站点都要迁,备份恢复内容数据库是最高效的方案,但一定要盯紧版本一致性和多租户残留配置的清理;如果只是迁单个站点,站点级导出导入或者SPMT会更灵活。根据你的实际需求挑就行!
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

