温馨提示×

ubuntu怎么导入sqlserver

小樊
47
2026-09-09 20:15:06
栏目: 云计算

Ubuntu 上“导入 SQL Server”一般有两种常见理解:

  1. 在 Ubuntu 上安装并运行 SQL Server
  2. 把数据(.sql / .bak)导入到 SQL Server(本地或远程)

下面分别说明。


一、在 Ubuntu 上安装 SQL Server(Linux 版)

Microsoft 提供了 SQL Server for Linux

1. 添加 Microsoft 仓库

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/mssql-server-2022.list)"
sudo apt update

版本可换成 2019 / 2022

2. 安装 SQL Server

sudo apt install -y mssql-server

3. 初始化

sudo /opt/mssql/bin/mssql-conf setup

按提示选择:

  • 版本(Developer / Express)
  • 设置 sa 密码

4. 启动服务

sudo systemctl status mssql-server

二、在 Ubuntu 上连接 SQL Server(命令行)

安装工具

sudo apt install -y mssql-tools unixodbc-dev

连接数据库

sqlcmd -S localhost -U sa -P '你的密码'

测试:

SELECT @@VERSION;
GO

三、导入 SQL 文件(.sql)

如果你有一个 xxx.sql 文件:

sqlcmd -S localhost -U sa -P '密码' -d 数据库名 -i xxx.sql

示例:

sqlcmd -S localhost -U sa -P 'P@ssw0rd' -d testdb -i data.sql

四、导入备份文件(.bak)

1. 把 .bak 放到 SQL Server 能读的路径

sudo cp db.bak /var/opt/mssql/data/
sudo chown mssql:mssql /var/opt/mssql/data/db.bak

2. 执行还原

sqlcmd -S localhost -U sa -P '密码'
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';
GO

逻辑名可用:

RESTORE FILELISTONLY FROM DISK = '/var/opt/mssql/data/db.bak';

五、如果是“导入到 Windows 上的 SQL Server”

只需在 Ubuntu 上用 sqlcmd 连接远程:

sqlcmd -S 192.168.1.10,1433 -U sa -P '密码' -i data.sql

六、常见问题

  • 连接失败:检查 1433 端口、防火墙
  • 权限问题.bak 必须 mssql 用户可读
  • 中文乱码:客户端用 UTF-8

如果你能补充:

  • 安装 SQL Server 还是 导入数据
  • 数据格式(.sql / .bak
  • SQL Server 在 本地还是远程

我可以给你更精确的命令。

0