Pazartesi, Mart 31, 2014

User Profile Servis Senkronizasyonu Starting'de başlama problemi

SharePoint üzerinde User Profile Service denince akla ilk gelen senkronizasyon oluyor ve senkronizasyon servisini çalıştırmaya çalıştığınızda da en sık karşılaştığınız hatalardan bir tanesi servis durumunun Starting'de kalmasıdır. Burada ilk dikkat etmeniz gereken nokta servisin çalıştırılacağı hesabın AD üzerinde Replicate Directory Changes yetkisinin olması (Bu yetkinin verilmesi için http://technet.microsoft.com/en-us/library/hh296982.aspx adresindeki makaleden faydalanabilirsiniz.) ve Farm Admin hesabının makinede local admin olmasıdır tabi ki bu durumun çok fazla nedeni olabileceği için burada adım adım nedenlerini saymak yerine bu durumdan nasıl çıkaracağınızı anlatıyor olacağım detaylı bilgi için http://www.harbar.net/articles/sp2010ups2.aspx adresindeki makaleye de göz atmanızı öneririm.

Servisi Starting durumundan çıkarmak için aşağıdaki kodları SharePoint Power Shell Admin ekranı üzerinden çalıştırabilirsiniz. Burada çok dikkatli olmanız gereken bir şey var. Aşağıdaki kodlar sadece servisin durumunu değiştirmiyor senkronizasyon database'ini sıfırlıyor. Aşağıdaki kodlar çalıştıktan sonra yapmış olduğunuz tüm senkronizasyon ayarları sıfırlanacak ve her şeyi yeniden yapmanız gerekecektir, aşağıdaki kodları çalıştırmadan önce mutlaka senkronizasyon ayarlarınızı bir yere not edin, burada Backup işinize yaramaz çünkü zaten amacınız mevcut durumu yok etmek mevcut durumun Backup'ını almak yerine senkronizasyon ayarlarınızı bir yere not edin. Tabi bu işlemlerden önce farmdaki diğer ayarlar için Full Backup almanızı şiddetle tavsiye ederiz :)

$syncDBType = "Microsoft.Office.Server.Administration.SynchronizationDatabase"
$upaSAType = "User Profile Service Application"
$syncDB = Get-SPDatabase | where-object {$_.Type -eq $syncDBType}
$upa = Get-SPServiceApplication | where-object {$_.TypeName -eq $upaSAType}


$syncDB.Unprovision()
$syncDB.Status = "Offline"
$upa.ResetSynchronizationMachine()
$upa.ResetSynchronizationDatabase() 
$syncDB.Provision()


restart-service SPTimerV4

Hiç yorum yok: