【必备好工具】受够了臃肿的 SQL Server 客户端?我 fork 了 HeidiSQL,专门修 MSSQL 的坑
起因:官方客户端,我实在不想装
平时主要连 SQL Server,但微软那套客户端(SSMS 等)体积大、安装慢。有时候就为了查几张表、改几行数据,实在不想在机器上再塞一个「巨无霸」。
于是开始找替代品,需求很简单:
- 轻量,最好解压就能用
- 开源,出了问题能自己查、自己改
- 能连 MSSQL,日常查改够用
搜了一圈,最后盯上了 HeidiSQL 官网——老牌开源数据库客户端,支持 MySQL、PostgreSQL、SQLite,也支持 SQL Server。单文件便携版几十 MB,比 SSMS 友好太多。
现实:能用,但 MSSQL 体验一言难尽
装上官方版试了一阵子,MySQL 那边还行,一到 SQL Server 就各种难受:
1. 中文乱码
查 VARCHAR 里的中文,结果满屏乱字符,尤其是 Windows 开了 UTF-8 区域之后更严重。
2. 连不上库
默认 MSOLEDBSQL 驱动,一点连接就报「参数类型不正确」——其实是连接串里多了不兼容的 Network Library 参数。
3. 端口还要自己填
TCP/IP 连接时端口默认是 0,每次都要手动改 1433。
4. 左侧树不好用
表、视图、存储过程全堆一层,库一多就眼花。
说实话:理念对,细节糙。开源项目能理解,但当主力 MSSQL 客户端,差点意思。
动手:下源码,自己修
HeidiSQL 是 GPL 开源 的,Delphi 写的,官方源码在 GitHub。既然官方短期指望不上,那就自己来。
我 fork 了一份,针对上面几个痛点逐项改:
| 问题 | 处理方式 |
|---|---|
| 中文乱码 | ADO 字段按类型正确解码;UTF-8 系统区域下还原 GBK 字节;连接串加 Auto Translate=False |
| MSOLEDBSQL 连不上 | 新驱动不再附加 Network Library 参数 |
| 端口默认值 | TCP/IP 会话默认 1433 |
| 对象树杂乱 | 表挂数据库下一级;视图/存储过程/函数等进子文件夹 |
| 界面英文 | 内置官方中文语言包,中文 Windows 可自动检测 |
又补了 Windows 下一键编译脚本,方便以后继续改。
改完自己用了一段时间,查中文、连库、翻对象树 都顺多了。国内用 MSSQL + 中文库的场景不少,官方 HeidiSQL 合并慢的话,fork 版至少能先顶着用。
给你:便携版,解压即用
修好的版本已打 Release,64 位便携包,不用安装 SSMS,也不用装 HeidiSQL 官方版。
👉 GitHub 仓库(欢迎 Star):
https://github.com/meta222888/HeidiSQL
👉 直接下载最新版(推荐):
https://github.com/meta222888/HeidiSQL/releases/latest
下载 HeidiSQL 12.18.1 便携版(HeidiSQL_12.18.1_64_Portable.zip),解压后运行 heidisql.exe 即可。已带中文语言包,偏好设置里语言选「自动检测」或 zh_CN 即可。
建议这样验证
- 建个 MSSQL 会话,驱动用 MSOLEDBSQL,网络 TCP/IP,端口 1433
- 查一张含中文的
VARCHAR表,看是否还乱码 - 展开数据库,看表是否在根下、存储过程等是否在子文件夹里
有问题可以到 GitHub Issues 提,或到 技术论坛 交流。
为啥开源值得折腾这一把
- SSMS 太重,轻量客户端是刚需
- HeidiSQL 底子不错,跨多种数据库,一个工具顶好几个
- MSSQL 支持是短板,但代码开源,缺啥补啥
- 个人或小团队,没必要为偶尔连一下 SQL Server 装一整套微软全家桶
如果你也被官方客户端的体积折磨过,或者用过 HeidiSQL 连 MSSQL 踩过坑,可以试试这版。
觉得有用的话:
- 到 GitHub 点个 Star ⭐,方便以后找更新
- 应用里「检查更新」也会指向这个仓库的 Release 页面
Star 不多也能用,但多一点动力,我会继续修、继续发 Release。
| 仓库 | meta222888/HeidiSQL |
| 最新 Release | v12.18.1 下载页 |
| 问题反馈 | 提交 Issue |
| 交流讨论 | pc530.com 论坛 |
基于 官方 HeidiSQL 12.18 fork,遵循 GPL v2。感谢原项目作者 Ansgar Becker 及社区。