在 Ubuntu Server 24.04 (Noble)** 上安装 **SQL Server 驱动程序

一、你通常需要装哪些驱动?(先确认)

常见有 3 类:

用途 驱动
ODBC(最常用,C / PHP / Python / MySQL FDW 等) msodbcsql18
命令行工具 mssql-tools18
Java mssql-jdbc
Python pyodbc(依赖 ODBC)

👉 99% 情况:装 ODBC + tools 即可


二、安装 Microsoft 官方 APT 仓库(必须)

1️⃣ 安装基础依赖

bash 复制代码
sudo apt update
sudo apt install -y curl gnupg2 ca-certificates apt-transport-https

2️⃣ 导入 Microsoft GPG key

bash 复制代码
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \
 | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg

3️⃣ 添加 Ubuntu 24.04 仓库

bash 复制代码
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] \
https://packages.microsoft.com/ubuntu/24.04/prod noble main" \
| sudo tee /etc/apt/sources.list.d/microsoft-prod.list

4️⃣ 更新索引

bash 复制代码
sudo apt update

三、安装 SQL Server ODBC 驱动(核心)

1️⃣ 安装 msodbcsql18

bash 复制代码
sudo ACCEPT_EULA=Y apt install -y msodbcsql18

18 是当前稳定主线

❌ 不建议新系统装 msodbcsql17


2️⃣(可选)安装命令行工具

bash 复制代码
sudo ACCEPT_EULA=Y apt install -y mssql-tools18 unixodbc-dev

把工具加入 PATH:

bash 复制代码
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc

四、验证是否安装成功

1️⃣ 查看 ODBC 驱动

bash 复制代码
odbcinst -q -d

应看到:

text 复制代码
[ODBC Driver 18 for SQL Server]

2️⃣ 测试连接(可选)

bash 复制代码
sqlcmd -S <server_ip>,1433 -U sa -P 'YourPassword'

五、程序语言使用示例

Python(pyodbc)

bash 复制代码
pip install pyodbc
python 复制代码
import pyodbc

conn = pyodbc.connect(
    "DRIVER={ODBC Driver 18 for SQL Server};"
    "SERVER=server_ip,1433;"
    "DATABASE=testdb;"
    "UID=sa;"
    "PWD=Password;"
    "Encrypt=yes;"
    "TrustServerCertificate=yes;"
)

PHP(pdo_sqlsrv)

bash 复制代码
sudo apt install -y php-odbc

PHP 8.1+ 与 msodbcsql18 兼容良好


六、常见坑(Ubuntu 24.04 必看)

❌ 连接时报 SSL 错误

Driver 18 默认强制 TLS

解决方式之一:

text 复制代码
Encrypt=yes;TrustServerCertificate=yes;

❌ 找不到驱动

bash 复制代码
ls /opt/microsoft/msodbcsql18/lib64/

❌ 卸载旧版本冲突

bash 复制代码
sudo apt remove msodbcsql17

七、如果你是下面这些场景,告诉我

我可以直接给你定制命令

  • PHP + SQL Server
  • Python + SQL Server
  • MySQL → SQL Server 数据同步
  • Docker 容器
  • 需要 Kerberos / AD 认证
  • SQL Server 在云(Azure / 阿里云 / 腾讯云)

一句话总结

Ubuntu 24.04 安装 SQL Server 驱动 = Microsoft 仓库 + msodbcsql18

相关推荐
kong@react1 天前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫1 天前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
睡不醒男孩0308231 天前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化
凡人叶枫1 天前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
某林2121 天前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
|_⊙1 天前
Linux 中断
linux
m0_738120721 天前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
二等饼干~za8986681 天前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技
Championship.23.241 天前
Linux 3.0 音频机制深度解析:ALSA基础架构与传统音频驱动模型
linux·运维·音视频·alsa
哆啦A梦——1 天前
Ubuntu 虚拟机 Docker 与 MySQL 8.0.42 部署指南
mysql·ubuntu·docker