User Profile Service卡在Starting的解決方法


 

User Profile Service(以下簡稱UPS)可能是SharePoint 2010中最頭疼的服務之一了,問題多多。

在創建這個服務階段會產生一系列問題。還好大神Spencer Harbar發表了一系列的博文來解決這個問題。精華都在Rational Guide to implementing SharePoint Server 2010 User Profile Synchronization

只要照着這個弄,沒有解決不了的。

問題是對於一個服務器場存在不是一天兩天的事情,這個服務太脆弱了,經常莫名其妙的掛。如果UPS服務掛了,所有訪問User Profile Manager的代碼都會異常。包括SharePoint自己的Welcome控件。

比如我項目中的一個服務器場,4台前段,2台應用服務器,一共6台服務器跑。一共6個同樣的服務負載均衡。運行久了,部分服務器就會出現這個服務變成Starting的情況,並且街面上沒有辦法停止這個狀態。

如下圖所示:

事件日志中會產生類似SharePoint Web Services Round Robin Service Load Balancer Event: EndpointFailure錯誤信息。

ULS日志中沒有特別明顯的信息。

 

我到現在也不知道具體有什么樣的原因會導致這個服務掛掉。可能是因為這個服務的負載比較大?

為了解決這個問題,只能 PowerShell來訪問到這個服務,進行強制的初始化。

利用下面的命令來獲取到當前服務器場所有的UPS服務實例:

$UPSInstances = Get-SPServiceInstance | ? {$_.GetType().ToString() -eq "Microsoft.Office.Server.Administration.UserProfileServiceInstance"}

利用下面命令來獲得狀態異常的UPS服務實例:

$StuckUPSInstances = $UPSInstances | ? {$_.Status -ne "Online"}

例如下面命令來重新初始化/啟動UPS服務實例:

$StuckUPSInstances | ForEach-Object -Process { $_ | Start-SPServiceInstance }

等一會兒,就會看到服務就重新啟動好了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM