温馨提示×

SQL Server在Ubuntu上如何迁移

小樊
55
2025-05-21 15:31:41
栏目: 云计算

在Ubuntu上迁移SQL Server数据库可以通过以下几种方法实现:

使用备份和还原功能

  1. 在Windows上创建备份
  • 使用SQL Server Management Studio (SSMS)连接到Windows SQL Server实例。
  • 选择要迁移的数据库,右键点击并选择“任务” > “备份…”。
  • 在“备份数据库”对话框中,选择“完全”备份类型,并指定备份文件的路径和名称。
  1. 将备份文件传输到Ubuntu服务器
  • 使用SCP、SFTP或其他文件传输工具将备份文件从Windows服务器传输到Ubuntu服务器。
  1. 在Ubuntu上还原数据库
  • 安装SQL Server命令行工具 sqlcmdmssql-tools(如果尚未安装)。
  • 使用 sqlcmd 连接到SQL Server实例,并运行 RESTORE DATABASE 命令来还原数据库。

使用SQL Server Integration Services (SSIS)

  • 如果迁移涉及复杂的转换或需要自动化,可以使用SQL Server Integration Services (SSIS)来创建迁移任务。

使用bcp实用程序

  • 对于大型数据库,可以使用 bcp 实用程序进行数据迁移。

在Ubuntu上安装SQL Server

  1. 安装SQL Server
  • 导入公共存储库GPG密钥:
    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - 
  • 注册Microsoft SQL Server Ubuntu存储库:
    sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/ubuntu/20.04/mssql-server-2022 main" 
  • 更新软件源并安装SQL Server:
    sudo apt-get update sudo apt-get install -y mssql-server 
  1. 配置SQL Server
  • 设置SA密码并选择版本:
    sudo /opt/mssql/bin/mssql-conf setup 
  • 启动SQL Server服务:
    sudo systemctl start mssql-server 
  • 设置SQL Server开机自启动:
    sudo systemctl enable mssql-server 
  • 验证服务状态:
    sudo systemctl status mssql-server --no-pager 
  1. 配置防火墙
  • 如果计划远程连接,需要在防火墙上打开SQL Server的TCP端口(默认值为1433):
    sudo ufw allow 1433 
  1. 安装SQL Server命令行工具
  • 安装依赖包:
    sudo apt-get install unixodbc-dev 
  • 安装SQL Server命令行工具:
    sudo apt-get install mssql-tools 
  • 添加工具到PATH环境变量:
    echo 'export PATH"$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc 
  1. 连接SQL Server
  • 使用 sqlcmd 工具连接SQL Server:
    sqlcmd -S localhost -U SA -P 'YourPassword' 
    其中 YourPassword 是在配置SQL Server时设置的SA密码。

以上步骤提供了在Ubuntu上迁移SQL Server数据库的基本流程。具体的命令和步骤可能会根据SQL Server版本和Ubuntu发行版的不同而有所变化,建议参考官方文档以获取最准确的信息。

0