SCVMM 2012 R2 重新安装失败,将返回一个"反序列化类型为 Microsoft.VirtualManager.Utils.ErrorInfo 的对象"错误

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3072393
症状
请考虑以下情形:

  • 具有 Microsoft System Center 2012 R2 Virtual Machine Manager (SCVMM 2012 R2) 环境。
  • 一个或多个库服务器使用存储区域网络 (SAN)。这是库服务器 thatisa 虚拟机 (VM) 使用虚拟光纤通道 (vFC) 也如此。
  • 应用更新汇总 6 (UR6)或更高版本的 versionfor SCVMM 2012 R2。
  • 您尝试重新安装 SCVMM 2012 R2 或添加群集节点连接到现有数据库。例如,您可能这样做 adisaster 的恢复过程。
在这种情况下,则安装将失败,您会收到以下错误消息︰

12:36:22:VMMPostinstallProcessor 是否引发了异常︰ 引发 Exception.Type: System.Runtime.Serialization.SerializationException、 Exception.Message: Microsoft.VirtualManager.Utils.ErrorInfo 类型的对象进行反序列化时出错。结束元素命名空间 'http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils' 预期中的代码。找到元素命名空间 'http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils' 中的 'EnumValueName'。
12:36:22:StackTrace: System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions (XmlReaderDelegator 阅读器、 布尔型 verifyObjectName、 DataContractResolver dataContractResolver) 在
在 System.Runtime.Serialization.XmlObjectSerializer.ReadObject (XmlDictionaryReader 阅读器)
在 Microsoft.VirtualManager.Utils.SerializationHelper.DeserializeDataContract[T] (字节 [] dataBytes)
在 Microsoft.VirtualManager.DB.Adhc.LibraryServer.ctor (SqlRow 行)
在 Microsoft.VirtualManager.Setup.VirtualMachineManagerHelpers.AddLibrary()
在 Microsoft.VirtualManager.Setup.InstallItemCustomDelegates.PangaeaServerPostinstallProcessor()
12:36:22:InnerException.Type: System.Xml.XmlException、 InnerException.Message︰ 结束元素代码命名空间 http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils 预期中的。找到元素命名空间 'http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils' 中的 'EnumValueName'。
12:36:22:InnerException.StackTrace: System.Xml.XmlExceptionHelper.ThrowXmlException (XmlDictionaryReader 阅读器、 字符串 res、 字符串 arg1、 arg2 字符串,字符串 arg3) 在
在 System.Xml.XmlBaseReader.ReadEndElement()
在 System.Xml.XmlBaseReader.ReadElementContentAsString()
在 System.Xml.XmlBinaryReader.ReadElementContentAsString()
在 System.Runtime.Serialization.EnumDataContract.ReadEnumValue (XmlReaderDelegator 阅读器)
在 System.Runtime.Serialization.EnumDataContract.ReadXmlValue (XmlReaderDelegator 输送,XmlObjectSerializerReadContext 上下文)
在 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize (XmlReaderDelegator 阅读器,字符串名称、 字符串 ns、 键入 declaredType,DataContract & dataContract)
在 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize XmlReaderDelegator 输送、 Int32 id、 RuntimeTypeHandle declaredTypeHandle、 字符串名称 (字符串 ns)
在 ReadErrorInfoFromXml (XmlReaderDelegator,XmlObjectSerializerReadContext,XmlDictionaryString []、 [XmlDictionaryString])
在 System.Runtime.Serialization.ClassDataContract.ReadXmlValue (XmlReaderDelegator 输送,XmlObjectSerializerReadContext 上下文)
在 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize (XmlReaderDelegator 阅读器,字符串名称、 字符串 ns、 键入 declaredType,DataContract & dataContract)
在 System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize XmlReaderDelegator 输送、 键入 declaredType,DataContract dataContract,字符串名称 (字符串 ns)
在 System.Runtime.Serialization.DataContractSerializer.InternalReadObject (XmlReaderDelegator 输送、 布尔型 verifyObjectName、 DataContractResolver dataContractResolver)
在 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions (XmlReaderDelegator 阅读器、 布尔型 verifyObjectName、 DataContractResolver dataContractResolver)
12:36:22:ProcessInstalls︰ 运行 PostProcessDelegate 返回 false。
12:36:22:ProcessInstalls︰ 运行 PostProcessDelegate PangaeaServer 失败...这是一个致命的项。设置回滚。
原因
此问题发生时您执行对数据库的更改更新汇总 6 或更高版本的 SCVMM 2012 R2 的模式的 aninstallation。因为 VMM 2012 R2 UR6 包含EnumValueName的元素,将发生此问题。这是 VMM 2012 R2 初版代码中未包括的其他元素。
替代方法
要变通解决此问题,请暂时重置到所有库服务器的FibreChannelSANStatusiscsisanstatusNPIVFibreChannelSANStatus空值.若要执行此操作,请按照下列步骤操作:

  1. 进行一次完整备份的 VMM 数据库。
  2. 对 VMM 数据库中运行下面的脚本。在此脚本中,用来代替实际的库服务器的名称libraryserver.contoso.com> 占位符。

    注意如果您有多个库服务器,请重新运行此 scriptfor 的每个服务器。
    update dbo.tbl_ADHC_Library setFibreChannelSANStatus=null,iscsisanstatus=null,NPIVFibreChannelSANStatus=nullwhere computername ='libraryserver.contoso.com'
  3. 在应用所做的更改之后,重新运行安装程序。

    注意如果您部署高可用性 (聚集) 的 VMM 安装,重复此 stepon 的每个节点之前转到步骤 4。
  4. 安装程序完成后,安装最新的更新汇总。

    注意当您的 installthe 更新汇总,删除了更新 scriptare 的值。
状态
Microsoft 正在研究这个问题,并在获得相关信息时,在这篇文章中发布更多详细信息。

属性

文章 ID:3072393 - 上次审阅时间:09/18/2016 06:55:00 - 修订版本: 1.0

Microsoft System Center 2012 Virtual Machine Manager, Microsoft System Center 2012 R2 Virtual Machine Manager

  • kbmt KB3072393 KbMtzh
反馈