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

按提示选择版本(如 DeveloperExpress)并设置 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)。
相关推荐
tang_vincent9 分钟前
linux 虚拟内存映射原理与启动初始化过程
linux
a31582380610 分钟前
Android Framework开发知识点整理
android·java·linux·服务器·framework·android源码开发
赖small强1 小时前
【Linux C/C++开发】 GCC -g 调试参数深度解析与最佳实践
linux·c语言·c++·gdb·-g
white-persist1 小时前
VSCode 快捷键大全:从设计理念到场景化高效运用(详细解析)(文章末尾有vim快捷键大全)
linux·ide·vscode·python·编辑器·系统安全·vim
杭州泽沃电子科技有限公司2 小时前
煤化工精炼与加工环节的监测:智能平台如何保障最终产品价值与环保合规?
运维·科技
可可苏饼干2 小时前
Ruo-Yi 前后端分离
运维·学习
SUPER52662 小时前
运维hbase服务重启,导致应用查询异常 hbase:meta
运维·数据库·hbase
_w_z_j_2 小时前
Linux----信号(产生、保存、处理)
linux·运维·服务器
专家大圣2 小时前
远程调式不复杂!内网服务器调试用对工具很简单
运维·服务器·网络·内网穿透·cpolar
集大周杰伦2 小时前
RV1126开发板烧录与SSH登录实践
linux·ssh·嵌入式·rv1126·瑞芯微开发工具·ssh 远程登录