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


安装或升级日志最后出现:
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 中的文字。
使用方法
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
生产环境建议先建立服务器快照!!!!!!每个版本升级前建立快照!!!
未备份或者做快照,或者之前已经升级失败怎么处理。。。暂时不清楚!!!
- 解压 ZIP,保证 BAT 和 PS1 位于同一目录。
- 完整备份 MariaDB/MySQL 和 MongoDB 数据库。
- 将 WMS 安装程序 EXE 拖到 WMS_upgrade_quote_fix.bat 上。
- 同意管理员权限提示,然后正常操作 WMS 安装程序。
- 完成后检查 WMS_upgrade_quote_fix.log 和 WMS 自身的迁移日志。
成功处理时,工具日志会出现:
ADDED missing utf8mb4 settings六、注意事项
本工具根据原始安装包对比和实际测试制作,不是 Dell 官方补丁。使用前必须备份数据库,并建议先在测试环境验证。如果 Dell 发布正式补丁,应优先使用官方方案。


