OM: Upgrade to OpsMgr’12

Столкнулся с рядом проблем при миграции с Operations Manager 2007 R2 на 2012:

  • Не резолвились GUIDы некоторых объектов в имена;
  • Не работал сброс мониторов в Health explorer.
  • При запуске Network Dashboard вместо отчетов и графиков отображались окна с ошибками:
Please provide the following information to the support engineer if you have to contact Microsoft Help and Support :
Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderException: An error occurred executing the command: [Microsoft.EnterpriseManagement.Presentation.DataProviders.Library!NetworkDashboardProvider/GetManagedEntityAvailabilityPercentage] in provider: [Microsoft.EnterpriseManagement.Presentation.DataProviders.NetworkDashboardProvider, Microsoft.EnterpriseManagement.Presentation.DataProviders.Library, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]. : Unable to execute stored procedure needed for dashboard. If you just installed Operations Manager Reporting Server, please wait a while and try again. This can also occur if the Operations Manager Reporting Server SQL Server is not started or inaccessible. —> Microsoft.EnterpriseManagement.Presentation.DataProviders.DataWarehouseException: Unable to execute stored procedure needed for dashboard. If you just installed Operations Manager Reporting Server, please wait a while and try again. This can also occur if the Operations Manager Reporting Server SQL Server is not started or inaccessible. —> Microsoft.EnterpriseManagement.Common.UnknownDatabaseException: Sql execution failed. Error 777971002, Level 16, State 1, Procedure Microsoft_SystemCenter_Visualization_Library_GetManagedEntityAvailability, Line 43, Message: Sql execution failed. Error 0, Level 0, State 0, Procedure SDK.GetManagedEntityAvailability, Line 0, Message: Non existent managed entity at Microsoft.EnterpriseManagement.Common.Internal.ServiceProxy.HandleFault(String methodName, Message message) at Microsoft.EnterpriseManagement.Common.Internal.MonitoringDataWarehouseServiceProxy.GetDataWarehouseStoredProcedureResult(String SpName, StoredProcedureParameterCollection param, IEnumerable`1 columnFilter, Int32 timeout) at Microsoft.EnterpriseManagement.Warehouse.DataWarehouse.GetDataWarehouseData(String storedProcedureName, StoredProcedureParameterCollection param, IEnumerable`1 columnFilter, Int32 timeout) at Microsoft.EnterpriseManagement.Presentation.DataProviders.NetworkDashboardProvider.GetManagedEntityAvailabilityPercentage(DateTime startDateTime, DateTime endDateTime, Guid managedEntityId, Int32[] goodStates) — End of inner exception stack trace — at Microsoft.EnterpriseManagement.Presentation.DataProviders.NetworkDashboardProvider.GetManagedEntityAvailabilityPercentage(DateTime startDateTime, DateTime endDateTime, Guid managedEntityId, Int32[] goodStates) — End of inner exception stack trace — at Microsoft.EnterpriseManagement.Presentation.DataAccess.DataProviderCommandMethod.Invoke(CoreDataGateway gateWay, DataCommand command) at Microsoft.EnterpriseManagement.Presentation.DataAccess.CoreDataGateway.ExecuteScalarInternal[TResult](DataCommand command) at Microsoft.EnterpriseManagement.Presentation.DataAccess.CoreDataGateway.<ExecuteScalarAsync>b__2[TResult](<>f__AnonymousType0`1 data)

Это только то, что удалось обнаружить при первичном осмотре. Решается данная проблема следующим образом (перед выполнением нижеописанных процедур обязательно сделайте резервную копию базы):

  1. Откройте Operations Manager Shell и введите комманду Get-SCOMManagementGroup | select-object Id.
  2. Запустите SQL Server Management Studio, подключитесь к SQL-серверу SCOM и выберите оперативную базу данных.
  3. Создайте и выполните запрос SELECT Id_6B1D1BE8_EBB4_B425_08DC_2385C5930B04 FROM MT_ManagementGroup.
  4. Вы увидите «действительный» GUID вашей менеджмент группы и если он совершенно не отличается от GUID, который был получен в первом шаге, то можете дальше не читать 🙂
  5. Если GUID отличается, то сделайте и выполните еще один запрос — UPDATE __MOMManagementGroupInfo__ SET ManagementGroupId = (SELECT top 1 Id_6B1D1BE8_EBB4_B425_08DC_2385C5930B04 FROM MT_ManagementGroup)

После этого можете еще раз проверить Id вашей менеджмент группы с помощью выполнения шага 1, теперь он должен быть правильным, а вышеописанные проблемы исчезнуть.

P.S.: Данная процедура проверялась на одиночном сервере, какое будет поведение в другой инфраструктуре нет возможности проверить.

UPD 11.06.2012: Microsoft написала собственную статью в базе знаний — http://support.microsoft.com/kb/2711375

Реклама

Детали bobgreen84
System Center Products Specialist

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: