Ubuntu环境下SQL Server数据迁移方法

在Ubuntu环境下进行SQL Server数据迁移,常用方法如下:

  1. 备份还原法

    • Windows端备份:用SSMS连接源数据库,选择“任务→备份”,保存为.bak文件。
    • 传输文件:通过SCP/SFTP将备份文件从Windows传至Ubuntu服务器。
    • Ubuntu端还原:安装sqlcmd工具,执行命令:
      RESTORE DATABASE [目标库名] FROM DISK '/path/to/backup.bak' WITH MOVE '逻辑数据名' TO '/var/opt/mssql/data/目标库.mdf', MOVE '逻辑日志名' TO '/var/opt/mssql/data/目标库_log.ldf'
  2. SQL Server Integration Services (SSIS)

    • 适用于复杂迁移(如数据转换、自动化流程),需在Windows端创建SSIS包并部署到Ubuntu。
  3. 第三方工具

    • Navicat:支持跨平台图形化迁移,需安装Linux版本并配置SSH连接。
    • SQLines:开源工具,支持数据库结构迁移,需在Ubuntu终端执行命令。
  4. 命令行工具(bcp/SQLCMD)

    • bcp:适合大规模数据导出/导入,需在Ubuntu安装mssql-tools后使用bcp命令。
    • SQLCMD:可执行T-SQL脚本,用于备份/还原或直接数据操作。

注意事项

  • 迁移前备份源数据库,确保目标服务器有足够存储空间。
  • 检查Ubuntu的SQL Server版本与源端兼容性,必要时调整配置(如字符集、排序规则)。
  • 远程连接时需开放SQL Server端口(默认1433)并配置防火墙。

参考来源: