网络知识
SQL Server在Ubuntu上的数据库迁移方案
2025-07-16 11:28  点击:0

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

使用备份和还原功能
    在Windows上创建备份:
使用SQL Server Management Studio (SSMS)连接到Windows SQL Server实例。选择要迁移的数据库,右键点击并选择“任务” > “备份…”。在“备份数据库”对话框中,选择“完全”备份类型,并指定备份文件的路径和名称。
    将备份文件传输到Ubuntu服务器:
使用SCP、SFTP或其他文件传输工具将备份文件从Windows服务器传输到Ubuntu服务器。
    在Ubuntu上还原数据库:
安装SQL Server命令行工具 sqlcmdmssql-tools(如果尚未安装)。使用 sqlcmd 连接到SQL Server实例,并运行以下命令还原数据库:
RESTORE DATAbase Yourdbname FROM DISK '/path/to/backup/YourDB.bak' WITH MOVE 'YourDB_Data' TO '/var/opt/mssql/data/YourDB.mdf', MOVE 'YourDB_Log' TO '/var/opt/mssql/data/YourDB_Log.ldf';
使用SQL Server Integration Services (SSIS)如果迁移涉及复杂的转换或需要自动化,可以使用SSIS来创建迁移任务。使用bcp实用程序对于大型数据库,可以使用 bcp 实用程序进行数据迁移。在Ubuntu上安装SQL Server
    导入公共存储库GPG密钥:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
    注册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 updatesudo apt-get install -y mssql-server
    配置SQL Server:
sudo /opt/mssql/bin/mssql-conf setup

按照提示选择数据库版本及设置SA密码。

    启动SQL Server服务:
sudo systemctl start mssql-server
    设置SQL Server开机自启动:
sudo systemctl enable mssql-server
    验证服务状态:
sudo systemctl status mssql-server --no-pager
    配置防火墙(如果计划远程连接):
sudo ufw allow 1433
    安装SQL Server命令行工具:
sudo apt-get install unixodbc-dev
    添加工具到PATH环境变量:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcsource ~/.bashrc
    连接SQL Server:
sqlcmd -S localhost -U SA -P 'YourPassword'

其中 YourPassword 是在配置SQL Server时设置的SA密码。

以上步骤涵盖了从备份和还原、使用SSIS、bcp实用程序到在Ubuntu上安装SQL Server的完整迁移流程。根据具体需求选择合适的方法进行操作。