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, @Systemid  WHILE @@FETCH_STATUS = 0  BEGIN  Begin Try     PRINT 'Resetting Login ' + @Login + ' To New Login '     Update Userinfo Set Tp_Login=Replace(Tp_Login, '旧域名\','新域名\')               WHERE CURRENT OF Curusers  End Try  Begin Catch     PRINT 'Resetting Login ' + @Login + ' Failed! '    PRINT Error_Message()  End Catch  Begin Try     PRINT 'Resetting SID ' + @Login + ' To New SID '    PRINT Suser_Sid(@Login)     UPDATE Userinfo SET Tp_Systemid = Suser_Sid(Tp_Login)             WHERE CURRENT OF Curusers  End Try  Begin Catch      PRINT 'Resetting SID ' + @Login + ' Failed! '     PRINT Error_Message()  End Catch   FETCH NEXT FROM Curusers INTO @Login, @Systemid  END   CLOSE Curusers

    进入SharePoint管理中心,在User Profile Service Application应用程序中执行完整同步。

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

你可能感兴趣的:(SharePoint,迁移,ad,域控)