温馨提示×

Debian怎么迁SQLServer

小樊
39
2026-07-15 03:27:20
栏目: 云计算

“Debian 怎么迁 SQL Server”这个问题通常有两种理解,我先分别说明,你可以对照自己的场景:


一、在 Debian 上 安装 / 迁移 SQL Server(Linux 版)

微软官方 支持 SQL Server 2017+ 在 Debian 上运行(通过 Microsoft 仓库)。

1️⃣ 环境准备

sudo apt update
sudo apt install -y curl gnupg apt-transport-https

2️⃣ 添加 Microsoft 仓库

curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/debian/11/prod stable main" | \
sudo tee /etc/apt/sources.list.d/mssql-release.list

Debian 12 把 11 换成 12

3️⃣ 安装 SQL Server

sudo apt update
sudo apt install -y mssql-server

4️⃣ 初始化 SQL Server

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

会让你选择:

  • 版本(Developer / Express / Standard / Enterprise)
  • SA 密码(必须强密码

5️⃣ 检查服务

systemctl status mssql-server

二、从 其他 SQL Server 迁移到 Debian 上的 SQL Server

✅ 常见迁移方式

方式 1:备份还原(最常用 ✅)

在旧服务器:
BACKUP DATABASE TestDB
TO DISK = '/tmp/testdb.bak';
拷贝到 Debian:
scp testdb.bak user@debian:/var/opt/mssql/backup/
在 Debian 上还原:
RESTORE DATABASE TestDB
FROM DISK = '/var/opt/mssql/backup/testdb.bak'
WITH MOVE 'TestDB_Data' TO '/var/opt/mssql/data/TestDB.mdf',
MOVE 'TestDB_Log' TO '/var/opt/mssql/data/TestDB.ldf';

方式 2:使用 SQL Server Management Studio(SSMS)

  • 任务 → 备份
  • 拷贝 .bak
  • Debian 上还原

方式 3:跨平台迁移(Windows → Linux)

⚠️ 注意:

  • 不支持 WITH COMPATIBILITY_LEVEL 过低
  • 不支持 Windows 身份验证(需 SQL 登录)
  • 路径、大小写可能不同

三、从 MySQL / PostgreSQL 迁移到 SQL Server(Debian)

常用工具

  • SSMA(SQL Server Migration Assistant)(Windows 运行)
  • bcp
  • sqlcmd
  • ETL(Data Factory / DTS)

四、Debian 上连接 SQL Server

安装命令行工具

sudo apt install -y mssql-tools unixodbc-dev

连接

sqlcmd -S localhost -U sa -P 密码

五、常见问题

❌ 不支持的功能

  • SQL Server Agent(部分版本)
  • 某些 Windows 特性
  • 图形界面(无 SSMS)

✅ 推荐

  • Developer / Express
  • Docker 更简单(如果你只是测试)

六、如果你是想问「迁移数据库数据」

可以告诉我:

  1. 从哪里迁?(Windows SQL Server / MySQL / PostgreSQL)
  2. 迁到哪里?(Debian 上的 SQL Server?还是别的?)
  3. 数据量大小
  4. 是否可停机

我可以直接给你一套完整迁移方案 + 命令

0