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這篇文章。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章