在 CentOS 上“迁移 SQL Server”通常有以下几种场景,我先帮你理清,再给出对应的做法。
✅ 这是最常见、最推荐的方式
下面我按 最常见(场景 1) 详细说明。
# 添加 Microsoft 源
curl https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo -o /etc/yum.repos.d/mssql-server.repo
# 安装
yum install -y mssql-server
# 初始化
/opt/mssql/bin/mssql-conf setup
设置 sa 密码,选择版本(如 Developer / Express)
curl https://packages.microsoft.com/config/rhel/7/prod.repo -o /etc/yum.repos.d/msprod.repo
yum install -y mssql-tools unixODBC-devel
BACKUP DATABASE testdb
TO DISK = 'C:\backup\testdb.bak'
把 testdb.bak 传到 CentOS:
scp testdb.bak root@centos:/var/opt/mssql/backup/
sqlcmd -S localhost -U sa
RESTORE DATABASE testdb
FROM DISK = '/var/opt/mssql/backup/testdb.bak'
WITH MOVE 'testdb' TO '/var/opt/mssql/data/testdb.mdf',
MOVE 'testdb_log' TO '/var/opt/mssql/data/testdb_log.ldf';
适合:
步骤:
sqlpackage / DACPAC适合 DevOps、自动化
sqlpackage /Action:Export /SourceServerName:win-sql /SourceDatabaseName:testdb /TargetFile:test.dacpac
sqlpackage /Action:Import /TargetServerName:centos-sql /TargetDatabaseName:testdb /SourceFile:test.dacpac
ALTER USER [user] WITH LOGIN = [login];
cron 替代可以告诉我:
我可以给你 SQL Server → MySQL 迁移方案
CentOS 上迁移 SQL Server 最稳方式:Windows 备份 → CentOS 还原
如果你愿意,可以告诉我:
我可以直接给你一步一步命令级方案。