在 Debian 上“导入 SQL Server”一般有两种理解:
.sql / .bak 文件)下面分别说明。
SQL Server 官方支持 Debian 11 / 12(64 位)。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/debian/12/prod stable main" > /etc/apt/sources.list.d/mssql-release.list'
Debian 11 把
12改成11
sudo apt update
sudo apt install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
选择版本(如 Developer / Express),设置 sa 密码。
systemctl status mssql-server
sudo apt install -y mssql-tools unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
测试连接:
sqlcmd -S localhost -U sa -P '你的密码'
假设有 data.sql:
sqlcmd -S localhost -U sa -P '密码' -i data.sql
指定数据库:
sqlcmd -S localhost -U sa -P '密码' -d 数据库名 -i data.sql
.bak 备份文件cp db.bak /var/opt/mssql/data/
sqlcmd -S localhost -U sa -P '密码' -Q \
"RESTORE DATABASE TestDB FROM DISK='/var/opt/mssql/data/db.bak' WITH MOVE 'logical_data' TO '/var/opt/mssql/data/TestDB.mdf', MOVE 'logical_log' TO '/var/opt/mssql/data/TestDB.ldf'"
逻辑名可用:
RESTORE FILELISTONLY FROM DISK='/var/opt/mssql/data/db.bak'
不需要安装 SQL Server,只需:
sudo apt install mssql-tools unixodbc-dev
sqlcmd -S 远程IP,1433 -U 用户名 -P 密码 -i file.sql
如果你能说明:
.sql / .bak / CSV我可以给你更精确的命令。