在 Debian 上使用 SQL Server 感觉“慢”,通常不是 SQL Server 本身在 Windows 上快、在 Linux 上就慢,而是环境、配置或使用方式差异导致的。下面按常见原因给你系统梳理一下。
SQL Server 对磁盘非常敏感,尤其是:
*.ldf)*.mdf)常见坑:
ext4 但没优化✅ 建议:
defaults,noatime,nodiratime,discard
SQL Server 在 Linux 上不会自动“友好”地让出内存。
如果:
memory.memorylimitmb结果:
✅ 检查:
free -h
swapon --show
✅ 建议(/var/opt/mssql/mssql.conf):
[memory]
memorylimitmb = 4096
Debian 上常见的是:
限制:
✅ 如果是生产环境,Express 基本必慢。
微软官方推荐:
如果你在:
会明显慢。
✅ 建议:
mkfs.xfs /dev/sdX
很多人是:
docker run mcr.microsoft.com/mssql/server
问题:
mssql 用户权限✅ 正确示例:
docker run -e MSSQL_MEMORY_LIMIT_MB=4096 \
-v /ssd/mssql:/var/opt/mssql \
mcr.microsoft.com/mssql/server
不一定是数据库慢,而是:
localhost 而不是 127.0.0.1✅ 测试:
sqlcmd -S 127.0.0.1,1433 -U sa
很多人以为“换个系统就快了”,其实:
✅ 检查:
SET STATISTICS IO ON;
即使配置一样,也可能:
你可以按顺序看:
free -h → 是否 swapiostat -x 1 → 磁盘是否 100%mssql-conf 内存限制如果你愿意,可以告诉我:
我可以直接帮你定位到具体配置。