Ubuntu 22.04安装SQL Server指南

看起来在安装过程中出现了问题,导致 mssql-server 没有正确安装。以下是排查和修复步骤:


1. 检查是否成功安装了 mssql-server

运行以下命令,确认是否已安装:

bash 复制代码
dpkg -l | grep mssql-server

如果没有任何输出,说明 mssql-server 未正确安装。


2. 重新安装 SQL Server

(1) 清理之前的安装(如有残留)
bash 复制代码
sudo apt remove mssql-server
sudo rm -rf /etc/apt/sources.list.d/mssql-server*
(2) 重新添加存储库并安装
bash 复制代码
# 重新导入 Microsoft GPG 密钥
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc

# 添加 SQL Server 2022 存储库
sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list)"

# 更新并安装
sudo apt-get update
sudo apt-get install -y mssql-server
(3) 检查安装是否成功

安装完成后,验证文件是否存在:

bash 复制代码
ls /opt/mssql/bin/mssql-conf

如果文件存在,继续下一步配置;如果仍不存在,可能是网络或存储库问题。


3. 手动下载并安装 Deb 包(可选)

如果 apt 安装失败,可以尝试手动下载:

bash 复制代码
# 下载 Deb 包
wget https://packages.microsoft.com/ubuntu/22.04/mssql-server-2022/pool/main/m/mssql-server/mssql-server_<version>.amd64.deb

# 安装依赖
sudo apt-get install -y libatomic1 libxml2

# 安装 Deb 包
sudo dpkg -i mssql-server_<version>.amd64.deb
sudo apt-get install -f  # 修复依赖

替换 <version> 为实际版本号(可从存储库 URL 获取)。


4. 运行配置向导

如果 /opt/mssql/bin/mssql-conf 已存在:

bash 复制代码
sudo /opt/mssql/bin/mssql-conf setup

按提示选择版本(如 Developer 或 Express)并设置 SA 密码。


5. 启动服务

bash 复制代码
sudo systemctl start mssql-server
sudo systemctl enable mssql-server
systemctl status mssql-server --no-pager

6. 常见问题排查

(1) 存储库问题

如果 apt-get update 报错,检查存储库配置:

bash 复制代码
cat /etc/apt/sources.list.d/mssql-server*.list

确保内容为:

复制代码
deb [arch=amd64] https://packages.microsoft.com/ubuntu/22.04/mssql-server-2022 jammy main
(2) 依赖问题

修复依赖:

bash 复制代码
sudo apt-get install -f
(3) 日志检查

查看安装错误日志:

bash 复制代码
journalctl -u mssql-server -xe

7. 验证安装

成功安装后,使用 sqlcmd 连接:

bash 复制代码
sqlcmd -S localhost -U SA -P '你的密码'

输入 SELECT @@VERSION; 并执行 GO。


如果仍有问题,请提供以下信息:

  1. 运行 sudo apt-get install -y mssql-server 的完整输出。
  2. ls /opt/mssql/bin/ 的结果。
  3. 错误日志(journalctl -u mssql-server)。
相关推荐
刚入门的大一新生6 分钟前
Linux-进程池
linux·运维·服务器
数据库小学妹16 分钟前
数据库运维五级成熟度:监控、备份、高可用怎么串起来
运维·数据库·监控
AliCloudROS37 分钟前
从 1 万到 20 万:OOS Loop 任务规模提升 20 倍的攻坚记录
运维·性能优化
鱼很腾apoc1 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
千桐科技1 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel
刚入门的大一新生1 小时前
Linux-进程间通信1
linux·运维·服务器
天远Date Lab2 小时前
零信任架构实战:基于天远柠檬查维保构建自动化全国连锁二手车置换上架电子维保报告网关
运维·人工智能·架构·自动化
张宇Joaquin2 小时前
Linux系统下磁盘扇区512n、512e和4kn的区别
linux·运维·数据库
道虽迩,不行不至2 小时前
数据库自动连库执行增量脚本-Linux
linux·数据库
GeW2 小时前
新质生产力发展路线图来了,Linux和数据库人该怎么接
linux·数据库