在 Debian 上“管 SQL Server”,一般分几种场景,下面按最常见、最实用的方式给你讲清楚。
✅ 可以,但只有 SQL Server 2017+ 的 Linux 版本
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/debian/12/prod stable main" > /etc/apt/sources.list.d/mssql.list'
sudo apt update
⚠️ Debian 12 用
debian/12,11 用debian/11
sudo apt install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
选择版本(一般选 Evaluation / Developer)
sudo apt install -y mssql-tools unixodbc-dev
加入 PATH:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
sqlcmd -S localhost -U SA -P '你的密码'
systemctl status mssql-server
systemctl restart mssql-server
systemctl stop mssql-server
/opt/mssql/bin/mssql-conf list
常见:
# 改端口
sudo /opt/mssql/bin/mssql-conf set network.tcpport 1433
# 开远程连接
sudo /opt/mssql/bin/mssql-conf set network.enableledger false
sudo ufw allow 1433/tcp
Debian IP,1433SAsqlcmd -S 192.168.1.10 -U sa
pyodbcmssql-jdbc-- 备份
BACKUP DATABASE testdb TO DISK = '/var/opt/mssql/backup/testdb.bak'
-- 恢复
RESTORE DATABASE testdb FROM DISK = '/var/opt/mssql/backup/testdb.bak'
⚠️ 文件权限要属于 mssql 用户
❌ 不支持:
✅ 适合:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong!Pass' \
-p 1433:1433 \
-d mcr.microsoft.com/mssql/server:2022-latest
Debian 管 SQL Server = 装 mssql-server + systemctl + sqlcmd + SSMS
如果你愿意,可以告诉我:
我可以给你一套直接能用的配置方案。