ReportServer Database silindiğinde SCOM reporting yeniden kurulmadan nasıl yapılandırılır.

 

Merhabalar ,

Operations Manager Reporting , Verileri çekecek rapor template’lerini SQL Reporting Services’ın kurulumunda oluşan ReportServer database ve ReportServerTempDB databaselerinde depolar ve buralardan işleyerek kullanır. ReportServer database’inin bir şekilde ( fiziksel olarak , disk hataları v.b. , yanlışlıkla ) silinmesi durumunda ise SCOM raporları kullanılmaz duruma gelir ve SCOM konsolunda reporting tıklandığında aşağıdaki hata alınır.

Date: 3/27/2012 10:52:35 AM

Application: System Center Operations Manager 2007 R2

Application Version: 6.1.7221.61

Severity: Error

Message: Loading reporting hierarchy failed.

System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing. ---> Microsoft.ReportingServices.Library.ReportServerDatabaseUnavailableException: The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing.

   at Microsoft.ReportingServices.WebServer.WebServiceHelper.EnsureModeFromCatalog()

   at Microsoft.ReportingServices.WebServer.WebServiceHelper.EnsureRSNativeMode()

   at Microsoft.ReportingServices.WebServer.ReportingService2005..ctor()

   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)

   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.ReportingService.ReportingService2005.ListChildren(String Item, Boolean Recursive)

   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.ManagementGroupReportFolder.GetSubfolders(Boolean includeHidden)

   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.WunderBar.ReportingPage.LoadReportingSubtree(TreeNode node, ManagementGroupReportFolder folder)

   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.WunderBar.ReportingPage.LoadReportingTree(ManagementGroupReportFolder folder)

   at Microsoft.EnterpriseManagement.Mom.Internal.UI.Reporting.WunderBar.ReportingPage.LoadReportingTreeJob(Object sender, ConsoleJobEventArgs args)

Ayrıca İnternet Explorerdan SQL Reporting URL’e ulaşılmak istenildiğinde ise aşağıdaki hata alınır.

The report server cannot open a connection to the report server database. A connection to the database is required for all requests and processing.(rsReportServerDatabaseUnavailable)

Böyle bir durumda SCOM reporting’I kaldırıp yeniden kurmaya gerekj kalmadan raporları tekrar almak mümkündür. Bu işlem için yapılması gereken adımlar ise şunlardır.

İlk olarak SQL Reporting database’lerini tutan SQL Server’da ReportServer database veya ReportServerTemp Database’den herhangi bir mevcut ise halihazırdaki connectionlar drop seçeneği ile etkisiz hale getirilerek detach edilir.

Sonra bu database dosyalarının .mdf ve .ldf dosyaları orjinal lokasyonlarından farklı bir lokasyona alınır.

SQL Server Reporing Services üzerinde Reporting Services Configuration Tool’u açılarak servisin hangi SQL Server’a ve instance name’e yönlendirildiği not edilir.

Aynı şekilde bu toolda halihazırda hangi servis account’unun kullanıldığı kontrol edilir.

Sonrasında Reporting Services Configuration Tool’da Change Database seçeneği yeni boş databaseleri oluşturmak için tıklanılır.

image

Create a new report server database opsiyonu seçilerek devam edilir

clip_image004

Burada ya eskiden yönlendirilen SQL Server instance ismi ya da başka bir SQL Server kullanılacak ise onun SQLServerName’i\instancename’i olacak şekilde yazılır. Örneğin SQL Server testsql instance name ise testinst olursa şu şekilde yazmak gerekir. Testsql\testinst

Test connection ile test yapılarak test başarılı olursa next butonu ile devam edilir.

image

Database server name kısmında SQL üzerinde görünecek database isimleri belirlenir. Ben örnekte SCOMReportServer olarak belirttim.

clip_image008

Credential settings alanında herhangi bir uninstallation işlemi yapılmadığı ve zaten servis account Data Warehouse Report Deployment Account olduğu için Authentication Type service credentials olarak seçilir. Bu işlem otomatik olarak db tarafında hakların atanmasını uygulayacaktır.Bunu SCOM reporting rolünü kaldırmadığımız için uygulayabiliyoruz. Aksi taktirde raporları işlem zamanından itibaren alırdık ve eski rapor içeriğini görüntüleyemezdik.

image

Özet sayfası control edilerek devam edilir.

Herşeyin başarılı olduğu doğrulanır.

clip_image012

SCOM Reporting kurulumunda gerekli data source otomatik olarak hazırlanarak SQL Reporting servis web sayfasına uygulanır. Fakat bizim yaptığımız işlem manuel bir işlem olduğu için bu uygulamayı kendimiz yapmamız gerekmektedir. Bu yüzden Report URL I açıp burada show details seçeneği seçilir. Göreceğiniz üzere herhangi bir data source bulunmamakta

Burada New Data Source tıklanılşarak içerik aşağıdaki şekilde doldurulur.

Name : Data Warehouse Main

Hide in tile view – selected

Enable this data source – selected

Data source type : Microsoft SQL Server

Connection String : data source= Testsql\testinst;initial catalog=OperationsManagerDW;Integrated Security=SSPI

Connect using: Credentials are not required

And then click OK

image

Artık data source ‘u görecek ve Klasör ve içeriklerin senkronize olmaya başladıklarına şahit olacaksınız.

image

Bu senkronize işlemini tetiklemek için SCOM ile ilgili servisleri RMS üzerinde durdurup yeniden başlatmak gerekecektir.

System Center Data Access

System Center Management Configuration

System Center Management

Bu aşamadan sonra rapor klasörlerinin ve içeriklerinin senkronize olmasını beklemek gerekecektir.