SQL Server服务器升级的原因,需要升级数据库版本,采用安装新的数据库服务器,更换数据库的解决办法。
1、安装新版本数据库;
数据库服务器需要加入到和原服务器一样的域中;
安装数据库使用和原服务器一样的账号权限和授予一样的角色,避免权限不足问题;
数据库服务器防火墙放开1433端口;
2、迁移数据;
第一个办法,分离源数据库,复制到新服务器附加;
第二个办法,备份还原数据库到新服务器;
第三个办法,数据库有一个复制数据库的功能,需要开启数据库代理,任务-->复制数据库,这里可以有两种复制模式,快速(分离附加,会暂停服务),慢(不停止服务)。
3、在SharePoint服务器添加数据库别名(这里好像可以不用);
4、切换各个服务数据库连接
$SPDBs = Get-SPDatabase
ForEach ($DB in $SPDBs)
{
$DB.ChangeDatabaseInstance('新数据库别名,好像完全限定名也可以')
}
使用官方的解决办法会遇到无法更新SharePoint_config数据库的服务器连接的问题。
5、更新模式数据库实例;
$ConfigDB = Get-SPDatabase | ?{$_.Name -eq 'SharePoint_Config'}
$WebApps = Get-SPWebApplication -IncludeCentralAdministration
ForEach ($WebApp in $WebApps)
{
$WebApp.Parent.DefaultDatabaseInstance = $ConfigDB.ServiceInstance
$webapp.Parent.Update()
$webapp.Update()
}
由于一直没有解决SharePoint_config数据库的更新官方的办法有点不适用。
一个变通的方法:
直接使用别名的方式,数据迁移完成之后,在SharePoint服务器创建数据库服务器别名,把别名设置为旧服务器名,指向新服务器,关闭旧数据库服务器。
没有测试过风险,慎用。
官方可以参考的引用
1、如何更改数据库服务器服务器场中的SharePoint - SharePoint | Microsoft Docs
2、在 SharePoint Server 中移动所有数据库 - SharePoint Server | Microsoft Docs