Kentico 10升级至11:CMSDataVersion升级失败排查求助
Kentico 10→11升级数据未完成排查方案
根据错误日志,问题根源是XML解析时遇到重复的system属性,导致替代表单合并失败,进而中断数据升级。以下是具体排查方向:
定位重复属性的XML记录
错误提示XML第1行位置5202存在重复system属性,直接查询数据库表单相关表:SELECT FormName, FormDefinition FROM CMS_Form WHERE FormDefinition LIKE '%system="%"%system="%"%' UNION ALL SELECT AlternativeFormName, FormDefinition FROM CMS_AlternativeForm WHERE FormDefinition LIKE '%system="%"%system="%"%'找到包含重复
system属性的XML内容。修复XML格式错误
找到目标记录后,手动编辑FormDefinition字段,移除重复的system属性(保留一个合法值即可)。例如将<field system="true" system="false" ...>修改为<field system="true" ...>。操作前务必备份数据库。重新触发数据升级
确认CMSSettingsKey表中CMSDataVersion仍为10.0,然后:- 重新运行
upgrade100_110.exe工具; - 或直接访问站点管理门户的
/CMSAdministration/Upgrade.aspx页面,完成剩余升级步骤。
- 重新运行
排查自定义表单/替代表单
错误发生在UpdateAlternativeForms步骤,重点检查项目中自定义创建或手动编辑过XML的替代表单,这类自定义内容最容易出现格式不规范问题。同时确认是否有第三方模块修改过表单定义。验证升级结果
升级完成后,检查CMSSettingsKey中CMSDBVersion和CMSDataVersion是否均为11.0;查看事件日志确认无新的UPGRADE错误;测试站点管理门户核心功能(如表单管理、内容编辑)是否正常。
内容的提问来源于stack exchange,提问作者Rob M
相关产品推荐
相关产品推荐

