统计
  • 文章总数:280 篇
  • 评论总数:0 条
  • 分类总数:14 个
  • 最后更新:9月19日
原创数码玩机

Dell WMS 5.2~5.5 安装与升级失败的原因和自动修复脚本

本文阅读 6 分钟
首页 › 数码玩机 › 正文

在简体中文 Windows Server 2019 上安装或升级 Dell Wyse Management Suite(WMS)5.2~5.5 时,程序可能在数据库迁移阶段失败并自动回滚。实测确认,原因是旧版迁移 SQL 没有明确设置 UTF-8 连接字符集。本文提供一个自动修复工具,无需修改原始安装包 EXE。

一、故障现象

657855627.png

3904459226.png

安装或升级日志最后出现:

Database migration script execution returned: 1
Database migration failed, hence restoring...

安装界面随后显示 Upgrade failed 或 Console installation failed。

二、实际测试结果

测试环境为简体中文 Windows Server 2019,结果如下:

  • WMS 5.1→5.2:原版升级失败,使用修复工具后升级成功。继续升级5.3 5.5不需要修复工具。
  • WMS 5.2 全新安装:原版安装失败,使用修复工具后安装成功。
  • WMS 修复工具安装的5.2→5.3:不使用修复工具升级失败,使用后升级成功。
  • WMS 继续升级的5.3→5.5:使用修复工具升级成功,不使用修复工具也能成功。
  • WMS 2605 全新安装:不使用修复工具,安装成功。
  • WMS 5.5→2605:不使用修复工具,升级成功。

WMS 5.2 全新安装时,会先建立 4.0.0 基础数据库,再执行完整迁移链,因此全新安装也会运行多份 stratus-migration-*.sql。

结论:本文工具适用于 WMS 5.2~5.5 的全新安装和版本升级。WMS 2605 及以后版本已经采用官方 utf8mb4 修复方式,无论全新安装还是从 5.5 升级到 2605,均不需要使用本文工具。

三、原因和官方修复方式

最初定位到 stratus-migration-5.1.0-5.2.0.sql 中的邮件模板文字:

Please use ‘Forgot Password’ option to set your password if required.

这里使用了 Unicode 弯引号。删除弯引号后升级能够成功,说明故障与该段文字的字符编码处理有关。

继续对比 Dell 原始安装包后发现,旧版迁移脚本没有明确设置 MySQL 客户端连接字符集。在简体中文 Windows 环境中,mysql.exe 可能按照系统本地字符集读取 SQL,遇到弯引号或其他 Unicode 内容时导致迁移失败。

正确的修复方式是在迁移脚本中加入:

SET NAMES utf8mb4;
SET CHARACTER SET utf8mb4;

这两句让 MySQL 按 utf8mb4 解释后续 SQL。Forgot Password 原文不需要删除,Dell 后来的官方脚本也保留了其中的 4 处弯引号。

四、受影响版本

对各版本原始 EXE 中的 stratus-migration-5.1.0-5.2.0.sql 进行核对,结果如下:

安装包utf8mb4 设置结论
WMS 5.2.0.163无未修复
WMS 5.3.0.205无未修复
WMS 5.4.0.471无未修复
WMS 5.5.0.771无未修复
WMS 2605.0.0~2605.0.3有已修复

Dell 从 WMS 2605.0.0.1463 开始,在该脚本的 use stratus; 之前加入两条 utf8mb4 设置,说明本文采用的修复方向与官方一致。

Dell 官方《WMS 26xx Release Notes》注明:WMS 5.2、5.3、5.4 和 5.5 不支持安装在简体中文或日文 Windows Server 2019 上;WMS 2605 支持在这些系统上全新安装。实际测试也确认:简体中文 Windows Server 2019 全新安装 WMS 2605,以及 WMS 5.5→2605 原地升级,均无需修复工具并成功完成。

五、自动修复工具

适用范围:WMS 5.2~5.5。WMS 2605 及以后版本不需要使用本工具,5.5升级2605也不需要。

下载

下载 WMS_upgrade_quote_fix6.zip

压缩包包含:

  • WMS_upgrade_quote_fix.bat
  • WMS_upgrade_quote_fix.ps1

工具只监控 WMS 实际存放迁移脚本的目录:

C:\Program Files\Dell\WMS\SeedData

发现 stratus-migration-*.sql 后:

  • 已包含两条 utf8mb4 设置的文件自动跳过;
  • 包含 use stratus; 时,在它前面加入缺少的设置;
  • 没有 use stratus; 时,在文件开头加入设置;
  • 不修改原始安装包 EXE,也不删除或替换 SQL 中的文字。

使用方法

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!

未备份或者做快照,或者之前已经升级失败怎么处理。。。暂时不清楚!!!
  1. 解压 ZIP,保证 BAT 和 PS1 位于同一目录。
  2. 完整备份 MariaDB/MySQL 和 MongoDB 数据库。
  3. 将 WMS 安装程序 EXE 拖到 WMS_upgrade_quote_fix.bat 上。
  4. 同意管理员权限提示,然后正常操作 WMS 安装程序。
  5. 完成后检查 WMS_upgrade_quote_fix.log 和 WMS 自身的迁移日志。

成功处理时,工具日志会出现:

ADDED missing utf8mb4 settings

六、注意事项

本工具根据原始安装包对比和实际测试制作,不是 Dell 官方补丁。使用前必须备份数据库,并建议先在测试环境验证。如果 Dell 发布正式补丁,应优先使用官方方案。

577537479.png

原创文章,作者:ERROR204,本文章内容未经书面许可禁止一切形式的转载:https://imnks.com/12448.html
白群晖专用网卡驱动套件 支持2.5G 5G 10G万兆USB/PCIE
« 上一篇 09-07
KPA助手:KONKR Pocket Advance 一键初始化工具
下一篇 » 09-15