none
SCSM 2012 R2 ошибка при удалении Request Offering RRS feed

  • Вопрос

  • Всем доброго времени суток!
    Описание конфигурации:
    Management Server: Windows Server 2012R2, Service Manager 2012 R2 (чистый, без кумулятивных апдейтов)
    DB: Windows Server 2008R2, SQL 2008 R2 SP3

    Создали в системе новый Request Offering, затем решили его удалить/изменить. Получили следующую ошибку
    Date: 25.11.2014 11:24:33
    Application: System Center Service Manager
    Application Version: 7.5.3079.0
    Severity: Error
    Message: Query to adapter 'dataportal:EnterpriseManagementObjectProjectionWriteAdapter' failed.

    : Database error. MPInfra_p_ManagementPackInstall failed with exception:
    Specified argument was out of the range of valid values.
    Parameter name: Item '1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringe6615967cd74464a93ad53a8bcc7a8eb|3|RequestOffering' not present in collection. Delete operation failed.

    Мы экспортировали МР и открыли его в текстовом редакторе и действительно не нашли в нем ни одного упоминания о нужном нам объекте RO. Создается впечатление, что при создании объекта он сохранился в базе, но в МР не попал…

    Мы открыли соответствующие таблицы в БД ServiceManager. Действительно, в таблице dbo.MT_System$RequestOffering присутствует нужная нам запись и имеет ID МР в котором создавался объект. Мы проверили таблицу dbo.ManagementPack, нашли в ней нужную запись, содержащую искомый МР. Там есть поле MPXML, которое, как и ожидалось не содержит описания объекта, который мы пытались удалить. Если в МР нет описания, что будет если его туда добавить? Мы получили список свойств объекта используя команду Get-SCSMRequestOffering и на их основе создали описание объекта вручную, в экспортированном ранее МР. Однако, после импорта мы получили такой же объект, с различающимися значениями в полях BaseManagedEntityId и Internal_ElementId. Ну и естественно, у нового объекта не был заполнен Publisher.

    Мы попытались удалить запись вручную из БД, но в результате получили пустую строку в отображении "All Requst Ofering" с единственным заполненным свойством Publisher. Где в базе хранится Publisher найти не удалось.

    На Global TechNet уже описывался случай подобный нашему (ссылку оставить не могу, не хватает прав, в поиске ищется corrupted request offering). Решением послужил кейс, открытый в Microsoft. Конечно возможно пойти по этому пути, но прибегать к помощи разработчика при каждом "чихе" не очень хочется.

    В связи с этим есть следующие вопросы:
     1) Как в нашей ситуации удалить RO?
     2) Почему так получилось?
     3) Как избежать этого в будущем?
     
    Благодарю за ваши ответы!

    25 ноября 2014 г. 8:29

Все ответы

  • Пичалька, поспешили вы с БД. Такая штука может иногда сложиться, когда у вас был RO в пакете управления, а вы потом сверху импортировали тот же пакет, но уже без RO внутри (а такое может сложиться, к примеру, если вы отредактировали пакет в Authoring Tools). Собственно, это ответ на вопросы 2 и 3.

    Лечиться с одной стороны легко, но в вашем случае даже не знаю как быть - нужно создать такой же RO в том же пакете и импортировать его. Если есть бакап - восстановить БД где-нибудь и посмотрите как пакет выглядел до этого.


    SCSMSolutions
    email: freemanru (at) gmail (dot) com

    26 ноября 2014 г. 12:30
    Модератор
  • Пичалька, поспешили вы с БД. Такая штука может иногда сложиться, когда у вас был RO в пакете управления, а вы потом сверху импортировали тот же пакет, но уже без RO внутри (а такое может сложиться, к примеру, если вы отредактировали пакет в Authoring Tools). Собственно, это ответ на вопросы 2 и 3.

    Лечиться с одной стороны легко, но в вашем случае даже не знаю как быть - нужно создать такой же RO в том же пакете и импортировать его. Если есть бакап - восстановить БД где-нибудь и посмотрите как пакет выглядел до этого.


    SCSMSolutions
    email: freemanru (at) gmail (dot) com

    Антон, спасибо за ответ!

    С одним из таких RO произошло следующее. Его создали, но тут же увидели, что в описании есть опечатка. Попытались изменить и получили вышеуказанную ошибку. Т.к. прошло менее 3-х минут, и я и Михаил находились в этот момент за одним рабочим местом (кроме нас ни кто не может импортировать MP), то это исключено. А вот далее, мы в процессе поиска решения нашли ещё один такой же RO. С ним могло быть то, что Вы описали.

    26 ноября 2014 г. 12:47
  • Приветствую! Антон, спасибо за ответ, уже думали доставать бубен и призывать вас в тему =)

    Пакет в котором лежит RO не подвергался редактированию в принципе. Базу после экспериментов мы откатили с бэкапа. Создание RO в пакете попробовали в первую очередь, о чем написано в первом сообщении. Не прокатило. Появившийся объект с точки зрения SCSM является другим. Различается полями BaseManagedEntityId и Internal_ElementId. 

    Если еще какие-нибудь идеи?

    26 ноября 2014 г. 12:55
  • Вообще это странно. BaseManagedEntityId генрится из ключевого поля, для RO это ID. ID тоже генерируется хитрым образом:

    1|ManagementPack.6ba8ee10a92b4f19b9444ad415fc5b94|1.0.0.0|Offeringdffd932f89e949e1a2e388dac2b48b6c|3|RequestOffering

    1 - это версия, далее имя пакета управления, в котором он создан, версия пакеты управления, имя RO (в пакете управления), что такое 3 я не уверен, но на сколько я знаю это ИД расширения, и далее тип расширения.

    Т.е. если вы создали RO в том же пакете (понятное дело, что речь идет о создании вручную через правку XML), с таким же внутренним именем, то он должен получить тот же ID. Если нет - выкладывайте вывод (нужен SMLets)

    $cl = (Get-SCSMCLass REquestOffering$)
    Get-SCSMObject -Class $cl | select ID

    и сам пакет. Если в пакете что-то секретное, можете на почту прислать или выложить только определение самого RO.



    SCSMSolutions
    email: freemanru (at) gmail (dot) com

    26 ноября 2014 г. 13:43
    Модератор
  • Антон, добавил ещё DisplayName:

    DisplayName : Generic Incident Request

    ID:1|ServiceManager.ServiceCatalog.Library/31bf3856ad364e35|1.0.0.0|ServiceManager.ServiceCatalog.Library.GenericRequestOffering.Default|3|RequestOffering

    DisplayName : Generic Incident Request (EN)

    ID:1|ServiceManager.ServiceCatalog.GenericIncidentRequest|1.0.0.0|ServiceManager.ServiceCatalog.GenericIncidentRequest.GenericRequestOffering.EN|3|RequestOffering

    DisplayName : Информационные ресурсы

    ID:1|ManagementPack.626d8da826344b6ca180f89c5333d49a|1.0.0.0|Offering2a26f99630854c428dfecad58059016c|3|RequestOffering

    DisplayName : Программное обеспечение и оборудование

    ID:1|ManagementPack.626d8da826344b6ca180f89c5333d49a|1.0.0.0|Offering46aa5f011c2c473eac55fd4c47a705f3|3|RequestOffering

    DisplayName : Заявка на нового сотрудника

    ID:1|ManagementPack.626d8da826344b6ca180f89c5333d49a|1.0.0.0|Offering61026feeec074941aaf511331ffd9a03|3|RequestOffering

    DisplayName : Сервисы телеком

    ID:1|ManagementPack.626d8da826344b6ca180f89c5333d49a|1.0.0.0|Offering028ab9794dc649a7bba927ba93b45308|3|RequestOffering

    DisplayName : Оборудование телеком

    ID:1|ManagementPack.626d8da826344b6ca180f89c5333d49a|1.0.0.0|Offeringd5087238248b4f1ba3223e13b48160ad|3|RequestOffering

    DisplayName : Электронная почта

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringf0b1ea3d43cd42269d47dfd544ef421b|3|RequestOffering

    DisplayName : Оборудование

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offering07f44456ed0f4cff858b9f97de139f0d|3|RequestOffering

    DisplayName : Сеть и Интернет

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offering554f8cd321c044beb61e2cce77471203|3|RequestOffering

    DisplayName : Стандартные приложения

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offering3b684fff870e4bf29d73613f27538984|3|RequestOffering

    DisplayName : Заявка на нового сотрудника (new)

    ID:1|ManagementPack.626d8da826344b6ca180f89c5333d49a|1.0.0.0|Offering1ad426b31d694ce7a93648e5fa98ecd9|3|RequestOffering

    DisplayName : Бизнес приложения

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringe6615967cd74464a93ad53a8bcc7a8eb|3|RequestOffering

    DisplayName : Быстрая поддержка

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offering2d387e60e983483da614f45348ea88df|3|RequestOffering

    DisplayName : Операционная система

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offering8f2fc46adb4d4baca4c352ba4beaa09c|3|RequestOffering

    DisplayName : Телеком

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringe6c006bb5f844efe872fef458ac20859|3|RequestOffering

    DisplayName : Консультация специалиста ИТ

    ID:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringa2a5be7157e84591b3b4e3fac9c11ce7|3|RequestOffering

    DisplayName : Подключение сервиса

    ID:1|ManagementPack.626d8da826344b6ca180f89c5333d49a|1.0.0.0|Offeringaf550140c84843d3a8337d5c1f255833|3|RequestOffering

    Проблемный RO выделил жирным шрифтом.

    А вот в MP упоминаний об этом RO нет.

    MP отправил на почту.

    26 ноября 2014 г. 14:11
  • Попробуйте создайте в пакете новый RO (скопируйте любой имеющийся) и измените заголовок на:

    <RequestOffering ID="Offeringe6615967cd74464a93ad53a8bcc7a8eb" InstanceName="Бизнес приложения" Title="Бизнес приложения" BriefDescription="" Overview="" Status="System.Offering.StatusEnum.Published" TargetTemplate="ObjectTemplate.524efc598bce4c01a5f59fc31f71998c" HideGotoRequestButton="false">
          

    Импортируйте пакет и повторите вывод PowerShell


    SCSMSolutions
    email: freemanru (at) gmail (dot) com

    26 ноября 2014 г. 14:46
    Модератор
  • При попытке импорта МР происходит ошибка. Очень странно с учетом того, что мы уже проводили такой же эксперимент. Немного дополню ситуацию.

    Мы создали в системе новый RO (далее RO1). Потом поптытались его изменить - получили ошибку из сабжа. Правили МР, ковыряли базу - без значимыз результатов. Пока экспериментировали нашли еще один "проблемный" RO (далее RO2)с такими же симптомами. Проблему с  RO1 в результате разрешили откативышись из бэкапа. Найденный в результате тестов RO2 слишком старый и восстановиться из бэкапа на момент, когда он не был создан невозможно. Разница между этими двумя RO с точки зрения XML заключаеется в том что, для RO1 был удален template и при правке XML мы подставили другой, существующий. В случае с RO2 мы сслылаемся на его "родной" template

    Ошибка при импорте

    The management pack import failed.
    Errors (1):
    The client has been disconnected from the server. Please call ManagementGroup.Reconnect() to reestablish the connection.

    locale на en-US ментять пробовали

    Внесенные исправления:

        <RequestOffering ID="Offeringe6615967cd74464a93ad53a8bcc7a8eb" InstanceName="Бизнес приложения" Title="Бизнес приложения" BriefDescription="Различные проблемы с бизнес приложениями (Maximo, Documentum, Navision и пр.)" Overview="Заполните предложенные поля и прикрепите снимок экрана с Вашей проблемой" Status="System.Offering.StatusEnum.Published" TargetTemplate="ObjectTemplate.524efc598bce4c01a5f59fc31f71998c" HideGotoRequestButton="false"> 
         	  <PresentationMappingTemplate>
            <Sources>
              <Source Id="00000000-0000-0000-0000-000000000000" Ordinal="0" ReadOnly="false" Optional="false" ControlType="System.SupportingItem.PortalControl">
                <ControlConfiguration>
                  <Dependencies />
                  <AddressableOutputs>
                    <AddressableOutput OutputName="Token: Portal User Name" OutputType="string" />
                  </AddressableOutputs>
                </ControlConfiguration>
                <Targets />
              </Source>
              <Source Id="6846a517-1e5a-4908-b110-9a4a11436eda" Ordinal="1" Prompt="Описание проблемы" ReadOnly="false" Optional="false" ControlType="System.SupportingItem.PortalControl.String">
                <ControlConfiguration>
                  <Dependencies />
                  <AddressableOutputs>
                    <AddressableOutput OutputName="String" OutputType="string" />
                  </AddressableOutputs>
                  <Configuration>
                    <Details>
                      <SelectedContentConstraint>AnyString</SelectedContentConstraint>
                      <RegexErrorPanelVisibility>Collapsed</RegexErrorPanelVisibility>
                      <LimitStringLength>true</LimitStringLength>
                      <MinimumLength>0</MinimumLength>
                      <MaximumLength>5000</MaximumLength>
                      <RegularExpression />
                    </Details>
                  </Configuration>
                </ControlConfiguration>
                <Targets>
                  <Target Path="Description" OutputName="String" />
                </Targets>
              </Source>
              <Source Id="9740758a-b24d-4068-ae2e-5b0d23ab91e0" Ordinal="2" Prompt="Дополнительные контактные данные" ReadOnly="false" Optional="true" ControlType="System.SupportingItem.PortalControl.String">
                <ControlConfiguration>
                  <Dependencies />
                  <AddressableOutputs>
                    <AddressableOutput OutputName="String" OutputType="string" />
                  </AddressableOutputs>
                </ControlConfiguration>
                <Targets>
                  <Target Path="ContactMethod" OutputName="String" />
                </Targets>
              </Source>
              <Source Id="bf412f40-95be-4757-8923-fd64cc926056" Ordinal="3" Prompt="Вложение" ReadOnly="false" Optional="true" ControlType="System.SupportingItem.PortalControl.FileAttachment">
                <ControlConfiguration>
                  <Dependencies />
                  <AddressableOutputs />
                </ControlConfiguration>
                <Targets />
              </Source>
            </Sources>
          </PresentationMappingTemplate>
        </RequestOffering>

    Дополню, что мы так же попробовали подставить правильные значения Source ID, взяв из из свойств RO

    PS C:\Windows\system32> Get-SCSMRequestOffering -DisplayName "Бизнес приложения" | fl
    
    
    __base                      : {[Publisher, Budyak, ADM]}
    Object                      : Бизнес приложения
    EstimatedTimeToCompletion   : 
    HideGotoRequestButton       : False
    TargetTemplate              : 1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|ObjectTemplate.524efc598bce4c01a5f59fc31f71998c||
    PresentationMappingTemplate : <Object ID="1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringe6615967cd74464a93ad53a8bcc7a8eb/GeneratedId_Pres
                                  entationMappingTemplate0|4|RequestOffering/PresentationMappingTemplate"><References><Reference Alias="RunbookActivity" Name="Se
                                  rviceManager.RunbookActivity.Library" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" /><Reference Alias="EnterpriseManagement
                                  " Name="Microsoft.EnterpriseManagement.ServiceManager.UI.Console" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" /><Reference
                                   Alias="CustomSystem_WorkItem_Library" Name="System.WorkItem.Library" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" /><Refer
                                  ence Alias="ServiceCatalog" Name="ServiceManager.ServiceCatalog.Library" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" /><Re
                                  ference Alias="EnterpriseManagement1" Name="Microsoft.EnterpriseManagement.ServiceManager.UI.Authoring" KeyToken="31bf3856ad364
                                  e35" Version="7.5.3079.0" /><Reference Alias="IncidentManagement" Name="ServiceManager.IncidentManagement.Library" KeyToken="31
                                  bf3856ad364e35" Version="7.5.3079.0" /><Reference Alias="CustomSystem_ServiceCatalog_Library" Name="System.ServiceCatalog.Libra
                                  ry" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" /><Reference Alias="CustomSystem_WorkItem_Activity_Library" Name="System.W
                                  orkItem.Activity.Library" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" /><Reference Alias="CustomMicrosoft_SystemCenter_Orc
                                  hestrator" Name="Microsoft.SystemCenter.Orchestrator" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" /><Reference Alias="Cust
                                  omSystem_WorkItem_Incident_Library" Name="System.WorkItem.Incident.Library" KeyToken="31bf3856ad364e35" Version="7.5.3079.0" />
                                  </References><Data><PresentationMappingTemplate><Sources><Source Id="00000000-0000-0000-0000-000000000000" Ordinal="0" ReadOnly
                                  ="false" Optional="false" ControlType="System.SupportingItem.PortalControl"><ControlConfiguration><Dependencies /><AddressableO
                                  utputs><AddressableOutput OutputName="Token: Portal User Name" OutputType="string" /></AddressableOutputs></ControlConfiguratio
                                  n><Targets /></Source><Source Id="6846a517-1e5a-4908-b110-9a4a11436eda" Ordinal="1" Prompt="Описание проблемы" ReadOnly="false"
                                   Optional="false" ControlType="System.SupportingItem.PortalControl.String"><ControlConfiguration><Dependencies /><AddressableOu
                                  tputs><AddressableOutput OutputName="String" OutputType="string" /></AddressableOutputs><Configuration><Details>
                                    <SelectedContentConstraint>AnyString</SelectedContentConstraint>
                                    <RegexErrorPanelVisibility>Collapsed</RegexErrorPanelVisibility>
                                    <LimitStringLength>true</LimitStringLength>
                                    <MinimumLength>0</MinimumLength>
                                    <MaximumLength>5000</MaximumLength>
                                    <RegularExpression />
                                  </Details></Configuration></ControlConfiguration><Targets><Target Path="Description" OutputName="String" /></Targets></Source><
                                  Source Id="9740758a-b24d-4068-ae2e-5b0d23ab91e0" Ordinal="2" Prompt="Дополнительные контактные данные" ReadOnly="false" Optiona
                                  l="true" ControlType="System.SupportingItem.PortalControl.String"><ControlConfiguration><Dependencies /><AddressableOutputs><Ad
                                  dressableOutput OutputName="String" OutputType="string" /></AddressableOutputs></ControlConfiguration><Targets><Target Path="Co
                                  ntactMethod" OutputName="String" /></Targets></Source><Source Id="bf412f40-95be-4757-8923-fd64cc926056" Ordinal="3" Prompt="Вло
                                  жение" ReadOnly="false" Optional="true" ControlType="System.SupportingItem.PortalControl.FileAttachment"><ControlConfiguration>
                                  <Dependencies /><AddressableOutputs /></ControlConfiguration><Targets /></Source></Sources></PresentationMappingTemplate></Data
                                  ></Object>
    Title                       : Бизнес приложения
    Notes                       : 
    BriefDescription            : Различные проблемы с бизнес приложениями (Maximo, Documentum, Navision и пр.)
    Overview                    : <b>Заполните предложенные поля и прикрепите снимок экрана с Вашей проблемой</b>
    PublishDate                 : 18.09.2014 12:53:30
    Image                       : 
    Status                      : Опубликовано
    Comment                     : 
    ID                          : 1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringe6615967cd74464a93ad53a8bcc7a8eb|3|RequestOffering
    Domain                      : ManagementPack.6be40ef3757c4858a01e1a3373702ac7
    Path                        : Offeringe6615967cd74464a93ad53a8bcc7a8eb
    Internal_ManagementPackId   : 3e4d6f25-86c5-df04-c9f6-8bb3a24092c5
    Internal_ElementId          : 1b4b83d0-3027-2b69-819a-b15661ae3838
    Internal_ParentId           : 00000000-0000-0000-0000-000000000000
    DisplayName                 : Бизнес приложения
    __ProjectionType            : System.RequestOffering.ProjectionType
    Publisher                   : Budyak, ADM
    LastModified                : 18.09.2014 16:53:48
    ManagementPackName          : ManagementPack.6be40ef3757c4858a01e1a3373702ac7

    27 ноября 2014 г. 8:05
  • Что в логах сервера при попытке импорта?

    SCSMSolutions
    email: freemanru (at) gmail (dot) com

    29 ноября 2014 г. 0:46
    Модератор
  • При попытке импорта, в журнале "Operations Manager" происходит 2 события:

    1. Предупреждение (Source: DataAccessLayer EventID: 33333):

    Data Access Layer rejected retry on SqlError:

    Request: p_ManagedEntityInsert -- (BaseManagedEntityId=2da4eb19-c3de-b9b2-0704-7acfcb75f1d0), (TypedManagedEntityId=2da4eb19-c3de-b9b2-0704-7acfcb75f1d0), (ManagedTypeId=8fc1cd4a-b39e-2879-2ba8-b7036f9d8ee7), (FullName=System.RequestOffering:1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringe6615967cd74464a93ad53a8bcc7a8eb|3|Requ...), (Path=), (Name=1|ManagementPack.6be40ef3757c4858a01e1a3373702ac7|1.0.0.0|Offeringe6615967cd74464a93ad53a8bcc7a8eb|3|RequestOffering), (TopLevelHostEntityId=2da4eb19-c3de-b9b2-0704-7acfcb75f1d0), (DiscoverySourceId=7431e155-3d9e-4724-895e-c03ba951a352), (HealthServiceEntityId=3a348be7-64dd-b376-069b-eab8814a5140), (PerformHealthServiceCheck=False), (TimeGenerated=01.12.2014 5:48:41), (IsOptimistic=True), (LifetimeRelationshipId=), (LastModified=), (TypedInstanceInserted=False), (ChangeId=), (RETURN_VALUE=1)

    Class: 16

    Number: 777980010

    Message:  Instance Id = {2DA4EB19-C3DE-B9B2-0704-7ACFCB75F1D0} last modification is more recent than submitted.

    2. Ошибка (Source: OpsMgr SDK Service EventID: 26319)

    An exception was thrown while processing TryImportManagementPackWithResources for session ID uuid:897ac979-fc7c-48e5-91a1-977906094daf;id=79.

    Exception message:

    Не удалось обработать расширения для пакета управления: ManagementPack.6be40ef3757c4858a01e1a3373702ac7.

    Full Exception: : Не удалось обработать расширения для пакета управления: ManagementPack.6be40ef3757c4858a01e1a3373702ac7.

    Элемент данных обнаружения отклонен, так как элемент уже был вставлен другим пользователем или процессом.

    1 декабря 2014 г. 5:52
  • тогда боюсь да, либо ручная очистка базы, либо открывайте кейс.

    SCSMSolutions
    email: freemanru (at) gmail (dot) com

    1 декабря 2014 г. 14:59
    Модератор