Deserialisieren des Objekts vom Typ "Microsoft. virtualmanager. utils. ErrorInfo" Fehler beim Neuinstallieren von VMM 2012 R2

In diesem Artikel können Sie ein Problem umgehen, bei dem Microsoft System Center 2012 R2 Virtual Machine Manager nicht erneut installiert werden kann und die Deserialisierung des Objekts vom Typ "Microsoft. virtualmanager. utils. ErrorInfo Error" empfangen wird.

Original Version des Produkts:   System Center 2012 Virtual Machine Manager, Virtual Machine Manager für Microsoft System Center 2012 R2
Ursprüngliche KB-Nummer:   3072393

Problembeschreibung

Stellen Sie sich folgendes Szenario vor:

  • Sie verfügen über eine System Center 2012 R2 Virtual Machine Manager (VMM 2012 R2)-Umgebung.
  • Ein oder mehrere Bibliotheksserver verwenden ein San (Storage Area Network). Dies gilt auch für einen Bibliothekserver, bei dem es sich um einen virtuellen Computer (VM) handelt, der den virtuellen Fibre Channel (vFC) verwendet.
  • Sie wenden Updaterollup 6 (UR6) oder eine höhere Version für VMM 2012 R2 an.
  • Sie versuchen, VMM 2012 R2 neu zu installieren oder einen Clusterknoten hinzuzufügen, der an eine vorhandene Datenbank angefügt wird. Beispielsweise können Sie dies als Notfallwiederherstellungsverfahren ausführen.

In diesem Szenario schlägt die Installation fehl und Sie erhalten die folgende Fehlermeldung:

12:36:22: VMMPostinstallProcessor hat eine Ausnahme ausgelöst: Ausnahme ausgelöst. Typ: System. Runtime. Serialization. SerializationException, Exception. Message: beim Deserialisieren des Objekts vom Typ Microsoft. virtualmanager. utils. ErrorInfo ist ein Fehler aufgetreten. End-Element ' Code ' aus Namespace ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils ' erwartet. Gefundenes Element ' EnumValueName ' aus Namespace ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils '.
12:36:22: StackTrace: bei System.Runtime.Serialization.Xmlobjectserializer. ReadObjectHandleExceptions (XmlReaderDelegator Reader, Boolean verifyObjectName, DataContractResolver DataContractResolver)
unter System.Runtime.Serialization.Xmlobjectserializer. ReadObject (XmlDictionaryReader Reader)
unter Microsoft. virtualmanager. utils. SerializationHelper. DeserializeDataContract[T](Byte[] dataBytes)
unter Microsoft. virtualmanager. DB. Adhc. LibraryServer.. ctor (SqlRow-Zeile)
unter Microsoft. virtualmanager. Setup. VirtualMachineManagerHelpers. addlibrary ()
unter Microsoft. virtualmanager. Setup. InstallItemCustomDelegates. PangaeaServerPostinstallProcessor ()
12:36:22: InnerException. Type: System.Xml.XmlAusnahme, InnerException. Message: End-Element ' Code ' from Namespace ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils ' expected. Gefundenes Element ' EnumValueName ' aus Namespace ' http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils '.
12:36:22: InnerException. StackTrace: at System.Xml.XmlExceptionHelper. ThrowXmlException (XmlDictionaryReader Reader, String res, String arg1, String arg2, String arg3)
bei System.Xml.XmlBaseReader. ReadEndElement ()
bei System.Xml.XmlBaseReader. ReadElementContentAsString ()
bei System.Xml.XmlBinaryReader. ReadElementContentAsString ()
unter System. Runtime. Serialization. EnumDataContract. ReadEnumValue (XmlReaderDelegator Reader)
unter System. Runtime. Serialization. EnumDataContract. readxmlvalue (XmlReaderDelegator XmlReader, XmlObjectSerializerReadContext-Kontext)
bei System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator Reader, String Name, String NS, Type deklarierttype, DataContract& DataContract)
bei System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator XmlReader, Int32 ID, RuntimeTypeHandle declaredTypeHandle, String Name, String NS)
bei ReadErrorInfoFromXml (XmlReaderDelegator, XmlObjectSerializerReadContext, XmlDictionaryString [], XmlDictionaryString [])
unter System. Runtime. Serialization. ClassDataContract. readxmlvalue (XmlReaderDelegator XmlReader, XmlObjectSerializerReadContext-Kontext)
bei System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator Reader, String Name, String NS, Type deklarierttype, DataContract& DataContract)
at System.Runtime.Serialization.XmlObjectSerializerReadContext. InternalDeserialize (XmlReaderDelegator XmlReader, Type deklarierttype, DataContract DataContract, String Name, String NS)
unter System. Runtime. Serialization. DataContractSerializer. InternalReadObject (XmlReaderDelegator XmlReader, Boolean verifyObjectName, DataContractResolver DataContractResolver)
unter System.Runtime.Serialization.Xmlobjectserializer. ReadObjectHandleExceptions (XmlReaderDelegator Reader, Boolean verifyObjectName, DataContractResolver DataContractResolver)
12:36:22: ProcessInstalls: mit dem PostProcessDelegate wird false zurückgegeben.
12:36:22: ProcessInstalls: Ausführung des PostProcessDelegate für PangaeaServer fehlgeschlagen.... Dies ist ein fatales Element. Festlegen des Rollbacks.

Ursache

Dieses Problem tritt auf, wenn Sie eine Installation für eine Datenbank durchführen, deren Schema durch Updaterollup 6 oder eine höhere Version für VMM 2012 R2 geändert wurde. Das Problem tritt auf, weil VMM 2012 R2 UR6 das EnumValueName Element enthält. Dies ist ein zusätzliches Element, das nicht im ersten ReleaseCode von VMM 2012 R2 enthalten war.

Problemumgehung

Um dieses Problem zu umgehen, setzen Sie vorübergehend FibreChannelSANStatus die iscsisanstatus NPIVFibreChannelSANStatus Werte für all Ihre Bibliotheksserver auf NULL zurück. Gehen Sie dazu wie folgt vor:

  1. Erstellen Sie eine vollständige Sicherung der VMM-Datenbank.

  2. Führen Sie das folgende Skript für die VMM-Datenbank aus. Ersetzen Sie in diesem Skript den tatsächlichen Namen des Bibliothekservers für den <libraryserver.contoso.com> Platzhalter.

    Hinweis

    Wenn Sie mehr als einen Bibliothekserver haben, führen Sie dieses Skript für jeden Server erneut aus.

    update dbo.tbl_ADHC_Library
    set
    FibreChannelSANStatus=null,
    iscsisanstatus=null,
    NPIVFibreChannelSANStatus=null
    where computername ='libraryserver.contoso.com'
    
  3. Nachdem die Änderungen angewendet wurden, führen Sie Setup erneut aus.

    Hinweis

    Wenn Sie eine hoch verfügbare (geclusterte) VMM-Installation bereitstellen, wiederholen Sie diesen Schritt auf jedem Knoten, bevor Sie mit Schritt 4 fortfahren.

  4. Installieren Sie nach Abschluss des Setups das neueste Updaterollup.

    Hinweis

    Wenn Sie das Updaterollup installieren, werden die vom Skript gelöschten Werte aktualisiert.