mingche 发表于 2019-2-3 13:11:00

SharePoint环境变更之更改域

  在我们实际使用过程中,会遇到域服务变更、迁移或重装AD服务器等问题。因为SharePoint等微软系列产品对域环境的依赖性。当发生以上问题时,对SharePoint的影响是相当高的。
  注:避免发生以上问题,是我们最值得思考的。通常,我们应该做域服务的高可用和负载均衡等架构模式,确保域服务不会宕机。

  当域环境发生变化时,我们会考虑到SharePoint中的用户以及权限这两个问题。SharePoint中的同步用户配置文件会将AD中的用户信息集成到数据库中,它们之间的关联是通过AD的SID属性来实现的。

  迁移步骤如下:

  1、数据库服务器迁移

  将数据库服务器退域并加入新的域中。然后将SQL Server的那几个服务的运行账户更改为新域下的账户,并重启数据库服务。

  打开数据库管理器,在“安全性”中添加新域下的管理员账户。

  2、SharePoint的FE迁移

  启动“SharePoint配置向导”,选择断开现有服务器场连接。

  删除数据库服务器中除wss_content数据库之外的其他SharePoint数据库。

  将SharePoint服务器退域并加入新域。

  重新打开“SharePoint配置向导”,创建新服务器场。

  打开wss_content内容数据库,将userinfo表字段进行更改,将原账号更改为新域下的账号,还要通过Suser_Sid()函数获取SID值来更新tp_systemid字段,执行的数据库脚本如下:
DECLARE @Login Varchar(40), @Systemid Varbinary(128)DECLARE Curusers CURSOR LOCAL FOR            SELECT Tp_Login, Tp_Systemid FROM Userinfo Where Tp_Deleted = 0    OPEN Curusers   FETCH NEXT FROM Curusers INTO @Login, @SystemidWHILE @@FETCH_STATUS = 0BEGINBegin Try   PRINT 'Resetting Login ' + @Login + ' To New Login '   Update Userinfo Set Tp_Login=Replace(Tp_Login, '旧域名\','新域名\')               WHERE CURRENT OF CurusersEnd TryBegin Catch   PRINT 'Resetting Login ' + @Login + ' Failed! '    PRINT Error_Message()End CatchBegin Try   PRINT 'Resetting SID ' + @Login + ' To New SID '    PRINT Suser_Sid(@Login)   UPDATE Userinfo SET Tp_Systemid = Suser_Sid(Tp_Login)             WHERE CURRENT OF CurusersEnd TryBegin Catch      PRINT 'Resetting SID ' + @Login + ' Failed! '   PRINT Error_Message()End Catch   FETCH NEXT FROM Curusers INTO @Login, @SystemidEND   CLOSE Curusers  进入SharePoint管理中心,在User Profile Service Application应用程序中执行完整同步。

  如果场解决方案有问题,可以重新部署解决方案,可以参考我写的http://642197992.blog.运维网.com/319331/1582731这篇文章。



页: [1]
查看完整版本: SharePoint环境变更之更改域