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)。
相关推荐
x县豆瓣酱1 小时前
【第五节】部署http接口到ubuntu server上的docker内
ubuntu·http·docker
豆是浪个1 小时前
Linux(Centos 7.6)命令详解:usermod
linux·运维·centos
极地星光2 小时前
网络检测:Linux下实时获取WiFi与热点状态
linux·网络
kikikidult3 小时前
Ubuntu20.04运行openmvg和openmvs实现三维重建(未成功,仅供参考)
人工智能·笔记·ubuntu·计算机视觉
Continue_with5 小时前
docker设置代理
运维·docker·容器
彭泽布衣5 小时前
远程登录docker执行shell报错input is not a terminal问题
运维·docker·容器
霖005 小时前
FPGA通信设计十问
运维·人工智能·经验分享·vscode·fpga开发·编辑器
还是奇怪5 小时前
Linux - 安全排查 3
android·linux·安全
NUZGNAW5 小时前
VMware安装Centos 7
linux·运维·centos
Another Iso5 小时前
CentOs 7 MySql8.0.23之前的版本主从复制
linux·mysql·centos