Ağu
19
2014

Failed to store data in the Data Warehouse. The operation will be retried. Exception ‘SqlException’: Login failed for user scom data writer SCOM 2012

Eğer SCOM 2012’de aşağıdaki event viewer’lardan herhangi bir ile karşılaşıyor ve login failed hatasına bir anlam veremiyorsanız aşağıda bir kaç ipucu bulabilirsiniz;

Failed to store data in the Data Warehouse. The operation will be retried.

Exception ‘SqlException’: Login failed for user ‘*****’.

One or more workflows were affected by this.

Workflow name: Microsoft.SystemCenter.DataWarehouse.CollectEntityHealthStateChange

Instance name: contoso.local

Instance ID: {9DDCA88E-2482-3058-D6FA-88EF6B28F6D4}

Management group: MGName

Data Access Layer hit the maximum number of retries on SqlError:

Request: SqlConnection.Open

Class: 14

Number: 229

Message: The EXECUTE permission was denied on the object ‘p_ReportingManagementPackList’, database ‘OperationsManager’, schema ‘dbo’.

Failed to enumerate Data Warehouse components for deployment. The operation will be retried.

Exception ‘SqlException’: Login failed for user ‘*****’.

One or more workflows were affected by this.

Workflow name: Microsoft.SystemCenter.DataWarehouse.Deployment.Component

Instance name: Data Warehouse Synchronization Service

Instance ID: {E858B44F-6B70-3649-B089-819EDDA2963A}

Management group: MGName

Failed to obtain synchronization process state information from Data Warehouse database. The operation will be retried.

Exception ‘SqlException’: Login failed for user ‘*****’.

One or more workflows were affected by this.

Workflow name: Microsoft.SystemCenter.DataWarehouse.Synchronization.ManagedEntity

Instance name: Data Warehouse Synchronization Service

Instance ID: {E858B44F-6B70-3649-B089-819EDDA2963A}

Management group: MGName

Report deployment process failed to request management pack list from Data Warehouse. The operation will be retried.

Exception ‘SqlException’: Login failed for user ‘*****’.

One or more workflows were affected by this.

Workflow name: Microsoft.SystemCenter.DataWarehouse.Deployment.Report

Instance name: Data Warehouse Synchronization Service

Instance ID: {E858B44F-6B70-3649-B089-819EDDA2963A}

Management group: MGName

Hatanın sebebi açıkca “login failed” olarak belirtilmiş. İlk akla gelen ilgili run as account’un ya da şifresinin değiştirildiğidir.

Çözüm için ilk denemeler;

  1. SCOM için kullanılan servis hesaplarından scomdw olarak adlandırdığımızda data writer account şifresini resetlemek.
  2. Şifreyi resetledikten sonra run as account’lar üzerinde tekrar tanımlamak.
  3. 2115 Event hatalarından kaynaklanmış olabileceği ihtimali nedeniyle Kevin Holman’ın şu makalesindeki önerileri yapmak;
  4. Run as account’u tekrar tanımladıktan sonra Data Warehouse profillerine girmek ve management server ya da resource pool’a distribute etmek.

Malesef yukardakilerin hiç biri sorunun çözülmesi için yardımcı olmadı.

Event viewer hatalar vermeye devam ediyor;



Böyle durumlarda genelde geri dönüp hatayı ve neden olduğu problemi tekrar incelerim. İlgili hataları tekrar incelemeye başladığımda hata alan hesabın domain account’u olmadığını farkettim.

Örneğin kurulum sırasında açtığınız contososcomdw (data writer account) hesabı için hata düşmesi gerekirken sadece scomdw olarak hata geri dönüyordu. Öyle anlaşılıyor ki bu account bir şekilde Data Warehouse ile ilişkili profile ya da run as account için tanımlanmış ve sürekli buradan login için deniyor ve hata alıyor.


Bu profile’ları tekrar tekrar incelemiş olmamıza rağmen bir detayı atladık;

Data Warehouse SQL Server Authentication Account


Burada Data Warehouse için authentication yapan bir account girilmiş durumda, Data Warehouse Action Account için kullanılan run as account contososcomdw olduğu için hiç şüphelenmiyoruz ancak ilgili profilin detayına bakınca aslında Domain run as account tanımlasanızda SQL Server Authentication yaptığını anlamış olduk!;


Eventlerde karşımıza çıkan ve domain’i olmayan bu account’ın nerden geldiği anlaşılmış oldu.


Eğer bu profile herhangi bir account tanımlarsanız sadece account adı ile giderek database’lere SQL Server Auth ile logon olmaya çalışacak ve hata alacak. Eğer varsa bu profildeki account’ı kaldırdıktan sonra sorunun çözüldüğünü göreceksiniz.

NOT:

Yukardaki sorun sebebiyle agent’lar üzerinde biriken batch’leri db’ye insert edemedikleri için bir çok 2115 hatası ile karşılaşabilirsiniz. Agent batch file oluşturduktan sonra DB üzerinde workflow ile bu datayı işlettirir, bu işlem başarılı olursa diğer batch file ile devam eder, ancak başarısız insert’ler nedeniyle bunlar uzun süre biriktiği için datanın boyutu büyür ve maximum limiti aşar. Bu nedenle aşağıdaki hataları çokça görebilirsiniz.

Yukardaki sorun çözüldükten sonra 2115 Event’lerin de kesildiğini göreceksiniz.



 32,833 total views,  1 views today

2 Comments to "Failed to store data in the Data Warehouse. The operation will be retried. Exception ‘SqlException’: Login failed for user scom data writer SCOM 2012"

  1. Ekrem Onsoy wrote:

    Exception tipine ve hata mesajina bakinca bu hata mesajinin dogrudan SQL Server’dan geldigi belli. Bu tur guvenlikle ilgili hata mesajlari bir guvenlik zagiyeti olusturmamak adina SQL Server tarafindan ozellikle ustunkoru gonderilir. Yani neden login girisiminin hata aldigi soylenmez son kullaniciya, dogrudan login failed hatasi gonderilir. Boyle durumlardan bu hatanin aciklamasi SQL Error Log’dan veya Application Event Log’dan ogrenilebilir. Orada hatanin aciklamasi da yazar. Muhtemelen de yukarida verilen Event Viewer ekran goruntulerinde secili olan kalemin hemen altindaki kalem bu bahsettigim aciklamayi iceriyordur. Eger o sekilde de bulunamazsa o zaman Login Failed mesajinin hata kodlarindan sorun anlasilabilir. Ornegin 8 numarali hata koeu, sifrenin yanlis oldugunu soyler…

  2. Yavuz Eren wrote:

    SQL üstadından böyle derinlemesine yorumları sürekli bekliyoruz 🙂

Leave Your Comment

 
Powered by Wordpress and MySQL. Theme by openark.org